【发布时间】:2021-11-23 20:46:12
【问题描述】:
我有一个自定义属性,如下所示,
[AttributeUsage(AttributeTargets.All, Inherited = true, AllowMultiple = false)]
public class SetValForAll : Attribute
{
public string Limit { get; set; }
public SetValForAll(string limit)
{
Limit = limit;
}
}
在使用此属性(SetValForAll)时,我想使用一个枚举传递 Limit 的值,但它显示错误“属性参数必须是常量表达式、typeof 表达式或数组创建表达式一个属性参数类型'
我的枚举如下,
public enum LimitEnum
{
max,
min
}
以下代码在属性行中抛出错误。
[SetValForAll(LimitEnum.max.ToString())]
public class UsingTheAttributeHere
{
}
如何在使用 SetValForAll 属性时从 LimitEnum 中获取值,而不是传递硬编码字符串?
【问题讨论】:
标签: c# .net enums attributes