Получить статическое свойство по имени объекта - PullRequest
3 голосов
/ 20 июля 2010

В ImageFormat есть несколько свойств, таких как Png, Tiff и т. Д.

Теперь, при наличии строки можно ли получить соответствующее статическое свойство?

Вот код

[Test]
public void GetPng()
{
    Assert.AreEqual(ImageFormat.Png, GetImageFormat("Png"));  //how to construct a GetImageFormat function?
}

Ответы [ 3 ]

4 голосов
/ 20 июля 2010
public static void Main()
{
    typeof(ImageFormat).GetProperty("GetPng", BindingFlags.Public |
                                              BindingFlags.Static);
}
2 голосов
/ 20 июля 2010
static ImageFormat GetImageFormat(string name)
{
    return (ImageFormat)typeof(ImageFormat)
        .GetProperty(name)
        .GetValue(null, null);
}
2 голосов
/ 20 июля 2010
PropertyInfo pi =  typeof(ImageFormat)
    .GetProperty("Png", BindingFlags.Static | BindingFlags.Public);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...