增強 C# 枚舉:透過描述檢索值
本文示範了一種改進 C# 枚舉功能的強大技術。 我們將重點關注使用其描述屬性有效地檢索枚舉值。 這種方法提高了靈活性並簡化了程式碼開發。
解決方案涉及一個靜態幫助器類別EnumEx
,其中包含一個通用方法:GetValueFromDescription
。此方法接受描述字串和枚舉類型作為輸入。 然後它迭代枚舉的字段,使用反射來尋找 DescriptionAttribute
。如果在屬性的描述和輸入字串之間找到匹配,則傳回相應的枚舉值。
如果不存在 DescriptionAttribute
,則該方法將回退到將欄位名稱與輸入描述進行比較。 如果在這裡找到匹配項,則傳回相應的枚舉值。 否則,將拋出 ArgumentException
(或傳回預設枚舉值,取決於實作首選項)。
此方法允許使用描述直接檢索枚舉值:
<code class="language-csharp">var panda = EnumEx.GetValueFromDescription<animal>("Giant Panda");</code>
此擴充功能透過提供更清晰的方式來根據描述存取枚舉值,從而顯著提高了程式碼的可維護性和可讀性。
以上是如何在 C# 中使用其描述來檢索枚舉值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!