【发布时间】:2016-01-05 13:37:01
【问题描述】:
我已经定义了一个自定义的enumDescriptionAttribute(见我之前的问题: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,
}
编译时出现如下错误:
属性参数必须是常量表达式,typeof 表达式 或属性参数类型的数组创建表达式
我也试过了:[DescriptionWithValueAttribute("Set Top Box", (Decimal)9.95)]
有什么想法吗?
【问题讨论】:
-
小数不能用作属性参数。见stackoverflow.com/questions/507528/…
标签: c# enums compiler-errors custom-attributes