C#从另一个实例化枚举

Fra*_*rme 0 c# enums

我有一个带有枚举的Web引用.

WebService.WebEnum.Member1
WebService.WebEnum.Member2
WebService.WebEnum.Member3
Run Code Online (Sandbox Code Playgroud)

等等

有没有办法基于WebEnum创建另一个枚举?我已经在这个上拉了好几个小时.

谢谢!

Red*_*dog 5

不可以.您不能在枚举上使用继承.

但是,通过对类(而不是枚举)使用静态成员属性,可以实现类似的感觉.然后可以通过继承扩展该类.

public class WebEnum
{
     protected WebEnum(int value)
     {
         ...
     }

     private static WebEnum _member1 = new WebEnum(1);

     public static WebEnum Member1
     {
         get { return _member1; }
     }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以扩展

public class OtherWebEnums : WebEnums
{
     private static WebEnum _member4 = new WebEnum(4);

     public static WebEnum Member4
     {
          get { return _member4; }
     }
}
Run Code Online (Sandbox Code Playgroud)

免责声明:在设计方面,我敢打赌,有些人会因为它可能会破坏众多面向对象的设计规则而感到不安......但它应该有用......