私はいくつかのテストを行いましたが、この場合はこれでうまくいきます:
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();
}