从资源文件中获取图像。创建一般功能以检索资源

时间:2011-08-31 20:03:22

标签: c# embedded-resource

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

4 个答案:

答案 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");

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