C#4.0。属性を持つ遅いプロパティがあります。ゲッターを呼び出さずにこの属性を読みたい:
[Range(0.0f, 1000.0f)]
public float X
{
get
{
return SlowFunctionX();
}
}
これは私が今持っているものです:
public static T GetRangeMin<T>(T value)
{
var attribute = value.GetType()
.GetField(value.ToString())
.GetCustomAttributes(typeof(RangeAttribute), false)
.SingleOrDefault() as RangeAttribute;
return (T)attribute.Minimum;
}
var min = GetRangeMin<double>(X); // Will call the getter of X :(
Q:のゲッターを呼び出さずにこの属性を読み取るにはどうすればよいX
ですか?