C#實(shí)現(xiàn)獲得某個(gè)枚舉的所有名稱
C#中獲得某個(gè)枚舉的所有名稱
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System; using System.Collections.Generic; public static class EnumHelper { public static List<string> AskEnumNames<T>() where T : Enum { Type enumType = typeof(T); List<string> enumNames = new List<string>(); foreach (string name in Enum.GetNames(enumType)) { enumNames.Add(name); } return enumNames; } } // 使用示例 public enum Colors { Red, Green, Blue } class Program { static void Main(string[] args) { List<string> enumNames = EnumHelper.AskEnumNames<Colors>(); foreach (string name in enumNames) { Console.WriteLine(name); } } }
輸出結(jié)果如下:
用以上方法即可正常獲取某個(gè)枚舉的所有名稱。
下面附件一個(gè)C#的反射的典型例子:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Reflection; namespace ReflectionExample { class Program { static void Main(string[] args) { // 通過(guò)反射創(chuàng)建類型的實(shí)例 Type myType = typeof(MyClass); object myInstance = Activator.CreateInstance(myType, new object[] { "Hello" }); // 獲取并調(diào)用類型的方法 MethodInfo myMethod = myType.GetMethod("MyMethod"); myMethod.Invoke(myInstance, new object[] { "World" }); } } class MyClass { public MyClass(string message) { Console.WriteLine(message); } public void MyMethod(string message) { Console.WriteLine(message); } } }
運(yùn)行結(jié)果:
這個(gè)例子,利用反射機(jī)制構(gòu)造了對(duì)象,并且調(diào)用了成員函數(shù)。
到此這篇關(guān)于C#實(shí)現(xiàn)獲得某個(gè)枚舉的所有名稱的文章就介紹到這了,更多相關(guān)C#獲得枚舉所有名稱內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Unity shader實(shí)現(xiàn)自由放大縮小效果
這篇文章主要為大家詳細(xì)介紹了Unity shader實(shí)現(xiàn)自由放大縮小效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02C#、ASP.NET通用擴(kuò)展工具類之TypeParse
這篇文章主要介紹了C#、ASP.NET通用擴(kuò)展工具類之TypeParse,使用了此類,類型轉(zhuǎn)換方便多了,本文直接給出實(shí)現(xiàn)代碼和使用方法,需要的朋友可以參考下2015-06-06Unity封裝延時(shí)調(diào)用定時(shí)器
這篇文章主要為大家詳細(xì)介紹了Unity封裝延時(shí)調(diào)用定時(shí)器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04C#靜態(tài)構(gòu)造函數(shù)用法實(shí)例分析
這篇文章主要介紹了C#靜態(tài)構(gòu)造函數(shù)用法,以實(shí)例形式較為詳細(xì)的分析了C#靜態(tài)構(gòu)造函數(shù)的用途、實(shí)現(xiàn)方法及使用技巧,需要的朋友可以參考下2015-06-06