我已經定義了一個自定義enum
DescriptionAttribute
(見我剛纔的問題:Multiple enum descriptions)自定義屬性:屬性參數必須是常量表達式
public class DescriptionWithValueAttribute : DescriptionAttribute
{
public Decimal Value { get; private set; }
public DescriptionWithValueAttribute(String description, Decimal value)
: base(description)
{
Value = value;
}
}
我enum
看起來是這樣的:
public enum DeviceType
{
[DescriptionWithValueAttribute("Set Top Box", 9.95m)]
Stb = 1,
}
我編譯時出現以下錯誤:
An屬性參數必須是常量表達式,屬性參數類型
我也已經嘗試的typeof運算表達 或數組創建表達式:[DescriptionWithValueAttribute("Set Top Box", (Decimal)9.95)]
任何想法?
小數不能用作屬性參數。請參閱http://stackoverflow.com/questions/507528/use-decimal-values-as-attribute-params-in-c – BoltClock