首頁 >後端開發 >C++ >為什麼我不能在C#中繼承枚舉?

為什麼我不能在C#中繼承枚舉?

Patricia Arquette
Patricia Arquette原創
2025-01-26 07:26:09134瀏覽

C# 中枚舉無法繼承的原因

Why Can't I Inherit Enums in C#?

C# 不支援枚舉繼承

雖然在中間層命名空間中使用「繼承」枚舉似乎很方便,但遺憾的是,C# 中無法實現。枚舉不能繼承自其他枚舉,只能繼承自 System.Enum。

看起來像繼承的語法實際上只是更改枚舉值底層表示的一種方式。但是,所有枚舉仍然派生自 System.Enum。此行為在 CLI 規範的 8.5.2 節中指定:

  • 「所有枚舉必須派生自 System.Enum」
  • 「由於上述原因,所有枚舉都是值類型,因此是密封的」

如您所提到的,由於需要使用由 WSDL 和 XSD 定義的枚舉的服務,因此無法使用類別中的常數。在這種情況下,枚舉無法修改。

以上是為什麼我不能在C#中繼承枚舉?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn