【发布时间】:2012-10-04 14:09:02
【问题描述】:
我正在尝试创建Enum 类型的常量,但出现错误。
我的枚举是:
public enum ActivityStatus
{
Open = 1,
Close = 2
}
我有一个使用它的模型:
public class CreateActivity
{
public int Id;
public const ActivityStatus ActivityStatus = ActivityStatus.Open;
}
出现以下错误:
错误 1 'Help_Desk.Models.CreateActivity.ActivityStatus' 常量值的评估涉及循环定义...
但如果我更改 ActivityStatus 属性的名称,它会起作用!
public class CreateActivity
{
public int Id;
public const ActivityStatus AnyOtherName = ActivityStatus.Open;
}
为什么会这样?
【问题讨论】:
-
如果这样做会痛,请停止这样做。
-
非常有趣。请注意,如果您删除
const(可能指定static和/或readonly),它会起作用! C# 语言规范第 7.6.4.1 节适用于大多数情况,但为什么不适用于您的情况?
标签: c#