Maison > développement back-end > C++ > Les énumérations C# peuvent-elles hériter d'autres énumérations ?

Les énumérations C# peuvent-elles hériter d'autres énumérations ?

DDD
Libérer: 2025-01-26 07:16:12
original
577 Les gens l'ont consulté

Can C# Enums Inherit from Other Enums?

"Héritage"

En C #, l'énumération ne peut pas hériter des autres. Cela est dû à la mise en œuvre de l'énumération dans la CLI.

La grammaire d'énumération qui ressemble à une autre énumération est en fait une représentation de la manière exponentielle de la valeur inférieure de l'énumération, pas un réel héritage. Par exemple:

Cette grammaire peut être trompeuse car elle laisse entendre que la consommation hérite de la base. Cependant, en fait, Consume est toujours une énumération distincte, qui hérite de System.enum.
<code class="language-c#">namespace low
{
    public enum Base
    {
        X, Y, Z
    }
}

namespace mid
{
    public enum Consume : Base
    {
        // 隐式继承 Base 的值
    }
}</code>
Copier après la connexion

Ce comportement est clairement défini dans la section 8.5.2 de la spécification CLI:

Toute énumération doit être dérivée de System.enum.
  • À partir de ce qui précède, toutes les énumérations sont un type de valeur, ils sont donc scellés (ne peuvent pas être hérités).
  • Par conséquent, il est impossible de créer une classe ou un énumération d'une autre énumération en C #.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal