正在从资源文件中获取图像.创建用于检索资源的常规函数



我有一个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倍

看看设计器类是如何生成的。也许它可以帮助你:

internal static System.Drawing.Bitmap price {
        get {
            object obj = ResourceManager.GetObject("price", resourceCulture);
            return ((System.Drawing.Bitmap)(obj));
        }
    }
var field = typeof(DM.DMresourceLib).GetField(name);
return (Image)field.GetValue(DM.DMresourceLib);

或者类似的东西。(如果这些是属性,当然使用GetProperty(

使用反射:

public Image GetImage(string name) 
{   
    var field = DM.DMresourceLib.GetType().GetField(name);             
    return (Image)field.GetValue(DM.DMresourceLib); 
}
Image ImageFromResource = (Image) Properties.Resources.ResourceManager.GetObject("RecordImage");

发布代码时请编写命名空间。如果需要,甚至可以添加什么引用。

最新更新