我做了一些测试,对于这种情况,这将起作用:
public static string GetValue(string PropertyName)
{
return typeof(Age).GetField(PropertyName).GetValue(typeof(Age));
}
似乎静态常量的工作方式有点不同。但以上内容适用于 OQ 中的课程。
对于更一般的情况,请参阅此问题。
这是通过反射完成的:
public static string GetValue(string PropertyName)
{
return Age.GetType().GetProperty(PropertyName).ToString();
}
注意,GetProperty() 可以返回 null,如果你传入“F9999”会崩溃
我没有测试过,你可能需要这个:
public static string GetValue(string PropertyName)
{
return Age.GetType().GetProperty(PropertyName,BindingFlags.Static).ToString();
}
一般情况作为评论:
public static string GetValue(object obj, string PropertyName)
{
return obj.GetType().GetProperty(PropertyName,BindingFlags.Static).ToString();
}