枚举“继承”

2024-02-13

我在低级命名空间中有一个枚举。我想在中级命名空间中提供一个“继承”低级枚举的类或枚举。

namespace low
{
   public enum base
   {
      x, y, z
   }
}

namespace mid
{
   public enum consume : low.base
   {
   }
}

我希望这是可能的,或者也许某种类可以代替枚举消耗,它将为枚举提供一个抽象层,但仍然让该类的实例访问枚举。

想法?

编辑: 我没有将其切换为类中的常量的原因之一是我必须使用的服务需要低级枚举。我已经获得了 WSDL 和 XSD,它们将结构定义为枚举。该服务无法更改。


这不可能。枚举不能从其他枚举继承。事实上,所有枚举实际上都必须继承自System.Enum。 C# 允许语法更改枚举值的底层表示形式,这看起来像继承,但实际上它们仍然继承自 System.enum。

参见第 8.5.2 节CLI spec http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-335.pdf了解完整详情。规范中的相关信息

  • 所有枚举必须派生自System.Enum
  • 由于上述原因,所有枚举都是值类型,因此是密封的
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

枚举“继承” 的相关文章

随机推荐