【发布时间】:2023-04-06 16:19:01
【问题描述】:
C# 4.0。我有一个带有属性的 slow 属性。我想在不调用 getter 的情况下读取此属性:
[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 :(
问:如何在不调用X的getter的情况下读取这个属性?
【问题讨论】:
-
这可能会有所帮助..类似的问题stackoverflow.com/questions/6637679/…
标签: c# custom-attributes