【发布时间】:2014-04-09 13:30:51
【问题描述】:
我正在清理我的代码,试图在某些方面做空
现在我偶然发现:
ImageList.Add(test.Properties.Resources.test1);
ImageList.Add(test.Properties.Resources.test2);
ImageList.Add(test.Properties.Resources.test3);
ImageList.Add(test.Properties.Resources.test4);
ImageList.Add(test.Properties.Resources.test5);
(其中有 15 个) 想知道这是否可以用 for 循环缩短
类似:
for(int i=1; i<=15; i++)
ImageList.Add(test.Properties.Resources.test +i);
现在这当然行不通,但我不知道该怎么做(如果可能的话)
【问题讨论】:
-
Resources是否有可枚举 个您可以使用的这些值?您正在尝试的方法可以通过反射来完成,但这对于这样的事情通常是矫枉过正的。理想情况下,Resources应该公开这些图像的集合,然后您可以在该集合上添加一个循环(或者甚至通过使用.Select()转换集合直接分配给ImageList)。 -
发生了好几次,我想知道这样的事情是否存在。
-
如果那些在你的
Resources对象中的任何类型的集合中,那会很容易,但是对于当前的设计,它不可能以一种干净的方式。不过,您可能希望更新您的设计,如果您希望扩大收藏的规模,这将使其更具未来性。 -
ResourceManager 会工作吗?