gpt4 book ai didi

c# - 枚举 "Inheritance"

转载 作者:IT王子 更新时间:2023-10-29 03:27:53 28 4
gpt4 key购买 nike

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

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

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

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

想法?

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

最佳答案

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

参见 CLI spec 的第 8.5.2 节了解全部详情。规范中的相关信息

  • 所有枚举必须派生自System.Enum
  • 由于上述原因,所有枚举都是值类型,因此是密封的

关于c# - 枚举 "Inheritance",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/757684/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com