列挙型の「継承」
C# では、列挙型は他の列挙型から継承できません。これは、CLI での列挙の実装方法によるもので、すべての列挙は System.Enum 基本クラスから派生する必要があります。
別の列挙型から継承されているように見える列挙型構文は、実際には、真の継承ではなく、列挙型の基礎となる値の表現方法の変更です。例:
<code class="language-c#">namespace low { public enum Base { X, Y, Z } } namespace mid { public enum Consume : Base { // 隐式继承 Base 的值 } }</code>
この構文は、Consume が Base から継承していることを暗示しているため、誤解を招く可能性があります。ただし、実際には、Consume は依然として System.Enum を継承する別の列挙です。
この動作は、CLI 仕様のセクション 8.5.2 で明確に定義されています。
したがって、C# では、別の列挙型の値を実際に継承するクラスまたは列挙型を作成することはできません。
以上がC# 列挙型は他の列挙型から継承できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。