C# 通过属性的名称获取静态属性

C# 通过属性的名称获取静态属性,c#,reflection,C#,Reflection,在ImageFormat中,有一些属性,如Png、Tiff等 现在,给定一个字符串,是否可以检索相应的静态属性 这是密码 [Test] public void GetPng() { Assert.AreEqual(ImageFormat.Png, GetImageFormat("Png")); //how to construct a GetImageFormat function? } public static void Main() { typeof(ImageForm

ImageFormat
中,有一些属性,如
Png
Tiff

现在,给定一个字符串,是否可以检索相应的静态属性

这是密码

[Test]
public void GetPng()
{
    Assert.AreEqual(ImageFormat.Png, GetImageFormat("Png"));  //how to construct a GetImageFormat function?
}
public static void Main()
{
    typeof(ImageFormat).GetProperty("GetPng", BindingFlags.Public |
                                              BindingFlags.Static);
}
PropertyInfo pi =  typeof(ImageFormat)
    .GetProperty("Png", BindingFlags.Static | BindingFlags.Public);
static ImageFormat GetImageFormat(string name)
{
    return (ImageFormat)typeof(ImageFormat)
        .GetProperty(name)
        .GetValue(null, null);
}