當前位置:網站首頁>c# 獲取枚舉描述的擴展方法
c# 獲取枚舉描述的擴展方法
2022-05-13 23:11:39【駕馭人生】
/// <summary>
/// 枚舉擴展類
/// </summary>
public static class EnumExtension
{
/// <summary>
/// 獲取枚舉的描述信息
/// </summary>
public static string GetDescription(this Enum em)
{
Type type = em.GetType();
FieldInfo fd = type.GetField(em.ToString());
if (fd == null)
return string.Empty;
object[] attrs = fd.GetCustomAttributes(typeof(DescriptionAttribute), false);
string name = string.Empty;
foreach (DescriptionAttribute attr in attrs)
{
name = attr.Description;
}
return name;
}
/// <summary>
/// 根據枚舉值的list 返回所有的描述
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="list"></param>
/// <returns></returns>
public static string Descriptionstr<T>(this List<string> list)
{
var des = string.Empty;
foreach (var value in list)
{
des = des + ((Enum)Enum.Parse(typeof(T), value)).GetDescription() + ",";
}
return des.TrimEnd(',');
}
/// <summary>
/// 根據枚舉值的list 返回所有的描述
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="list"></param>
/// <returns></returns>
public static string Descriptionstr<T>(this List<int> list)
{
var des = string.Empty;
foreach (var value in list)
{
des = des + ((Enum)Enum.ToObject(typeof(T), value)).GetDescription() + ",";
}
return des.TrimEnd(',');
}
}
版權聲明
本文為[駕馭人生]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/133/202205132304581728.html
邊欄推薦
猜你喜歡
隨機推薦
- waitKey()函數的一些用法
- 如何將keil5 C51和MDK合並(附安裝包)
- 華雲三維CrownCAD榮獲2021“工業軟件創新獎”
- 關於jwt的一些補充學習
- CenterNet簡述
- Unity SKFramework框架(二)、UI模塊
- C#維特智能藍牙5.0加速度陀螺儀角度姿態傳感器協議解析
- NanoPi NEO3上手日記第二天——裝個WiFi(OpenWrt系統無線配置均適用)
- Find命令的7種用法
- 產教融合加速數據庫人才培養 | OceanBase數據庫大賽10强誕生
- history和hash模式區別
- ctf-WEB-login2(sql注入)
- 【matlab代碼-長見識】你用過 max(max(:)) 嗎
- 信息收集(六)之cms識別
- RHCA回憶錄---CL210介紹
- 中國農業大學2022-2023級入學MBA招生簡章
- DPDK19.11下載及安裝
- 談一談Upload上傳文件和圖片
- 【好文分享】MySQL JSON 數據類型解說
- Redis cluster集群原理與配置
- 在VyOS上實現DMVPN&OSPF&BFD·3·配置
- Source Insight 4.0工具查看.S文件
- mysql 中sql 語句查詢今天、昨天、7天、近30天、本月、上一月 數據
- STM32F103C8T6最小系統原理圖和PCB
- ES6新增語法(七)——async
- 【組隊學習】【37期】組隊學習內容詳情
- 文盤Rust——領域交互模式如何實現
- 旅遊評點項目
- 【GPU加速】開發低延遲代碼性能提昇76.33%——通過VS2017創建CUDA項目對比CPU代碼和GPU代碼的延遲(親測代碼可運行簡單可運行適合入手)
- OpenStack基於Libvirt的虛擬化平臺調度實現----Nova虛擬機啟動源碼實現(4)
- Labelme標注Json文件轉XML(能識別矩形框)
- C語言和go語言之間的交互 - C語言中使用go語言,使用的go語言又使用了c語言
- GeoServer源碼解讀 - 入參處理
- LeetCode|3. 無重複字符的最長子串
- 2022.5.13-----leetcode.面試01.05
- im即時通訊開發:IM群聊消息的已讀回執功能
- 初識MQ-01
- 練習29,統計子矩陣【二比特前綴和/雙指針】
- MnO2-PEDT 二氧化錳納米球修飾聚乙烯二氧噻吩/MnO2-P4VP 二氧化錳納米顆粒修飾聚-4-乙烯吡啶
- 量子計算中的么正操作符和幹涉現象