C#程式設計中,枚舉用於定義一組固定的值,枚舉變數只能取列舉中定義的值。然而,預設情況下,枚舉成員只是數值,在某些情況下不夠直觀。因此,問題是如何為枚舉賦予更友善的名稱。
為了給枚舉成員更容易理解的名稱,可以使用 Description 屬性。這允許為每個枚舉成員指定一個描述性文字字串。然後,可以使用擴充方法來取得此描述:
<code class="language-csharp">public static string GetDescription(this Enum value) { Type type = value.GetType(); string name = Enum.GetName(type, value); if (name != null) { FieldInfo field = type.GetField(name); if (field != null) { DescriptionAttribute attr = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute; if (attr != null) { return attr.Description; } } } return null; // 或抛出异常,视情况而定 }</code>
使用方法如下:
<code class="language-csharp">public enum MyEnum { [Description("Foo 的描述")] Foo, [Description("Bar 的描述")] Bar } MyEnum x = MyEnum.Foo; string description = x.GetDescription();</code>
以上是如何為 C# 枚舉提供友善名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!