是否可以在公共枚举C#中使用内部值?

是否可以在公共枚举C#中使用内部值?,c#,enums,C#,Enums,我正在使用一个公共枚举(例如,天),其中我需要使用一个值(例如,周日)作为私有(或)内部。但是下面的代码失败了 public enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, internal Sunday } 有可能达到c#中的要求吗?简短回答:没有 长答案:是的,但不包括c#

我正在使用一个公共枚举(例如,),其中我需要使用一个值(例如,周日)作为私有(或)内部。但是下面的代码失败了

 public enum Days
    {
        Monday,
        Tuesday,
        Wednesday,
        Thursday,
        Friday,
        Saturday,
        internal Sunday
    } 
有可能达到c#中的要求吗?

简短回答:没有


长答案:是的,但不包括c#中的枚举。你需要一个POCO,或者一个结构,或者类似的东西。C#中的枚举不应该这样使用

不可以。你可以使用一个带有
静态只读成员的结构(也称为“java风格”或“智能”枚举),而不是
内部成员的声明将不会非常有用。当然,从SR的角度来看,这是一种代码味道,甚至是你想要的。隐藏它没有意义。域模型应与公共api分离。声明两个单独的枚举,并从一个枚举转换为另一个枚举。