Получение изображения из файла ресурсов. Создать общую функцию для извлечения ресурсов - PullRequest
0 голосов
/ 01 сентября 2011

У меня есть 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;
}

10x

Ответы [ 4 ]

1 голос
/ 01 сентября 2011

Посмотрите, как был создан класс дизайнера. Может быть, это может помочь вам:

internal static System.Drawing.Bitmap price {
        get {
            object obj = ResourceManager.GetObject("price", resourceCulture);
            return ((System.Drawing.Bitmap)(obj));
        }
    }
1 голос
/ 01 сентября 2011
var field = typeof(DM.DMresourceLib).GetField(name);
return (Image)field.GetValue(DM.DMresourceLib);

... или что-то в этом роде.(Если это свойства, используйте, конечно, GetProperty)

0 голосов
/ 07 марта 2013
Image ImageFromResource = (Image) Properties.Resources.ResourceManager.GetObject("RecordImage");

Пожалуйста, напишите Пространство имен при публикации кода Даже какую ссылку добавить, если нужно.

0 голосов
/ 01 сентября 2011

Использовать отражение:

public Image GetImage(string name) 
{   
    var field = DM.DMresourceLib.GetType().GetField(name);             

    return (Image)field.GetValue(DM.DMresourceLib); 
}
...