我有一个DLL,用于存储我们项目的图像。(C#4.0,VS2010)。 在DLL中有一个资源文件,我正在使用 -
public Image Get1()
{
return DM.DMReourceLib._1;
}
为了访问图像_1。这样我最终会编写1200个get函数,每个图像一个。 我正在寻找一种方法
public Image GetImage(string name)
{
return DM.DMresourceLib.name;
}
10倍
答案 0 :(得分:1)
var field = typeof(DM.DMresourceLib).GetField(name);
return (Image)field.GetValue(DM.DMresourceLib);
......或类似的东西。 (如果那些属性当然使用GetProperty
)
答案 1 :(得分:1)
看看如何生成设计器类。也许它可以帮到你:
internal static System.Drawing.Bitmap price {
get {
object obj = ResourceManager.GetObject("price", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
答案 2 :(得分:0)
使用反思:
public Image GetImage(string name)
{
var field = DM.DMresourceLib.GetType().GetField(name);
return (Image)field.GetValue(DM.DMresourceLib);
}
答案 3 :(得分:0)
Image ImageFromResource = (Image) Properties.Resources.ResourceManager.GetObject("RecordImage");
发布代码时请写下命名空间。如果需要,甚至可以添加什么参考。