यदि आप किसी विशिष्ट प्रकार के सभी स्थिरांक के मानों को लक्ष्य प्रकार से प्राप्त करना चाहते हैं , तो यहां एक विस्तार विधि है (इस पृष्ठ पर दिए गए कुछ उत्तरों का विस्तार):
public static class TypeUtilities
{
public static List<T> GetAllPublicConstantValues<T>(this Type type)
{
return type
.GetFields(BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy)
.Where(fi => fi.IsLiteral && !fi.IsInitOnly && fi.FieldType == typeof(T))
.Select(x => (T)x.GetRawConstantValue())
.ToList();
}
}
फिर इस तरह एक वर्ग के लिए
static class MyFruitKeys
{
public const string Apple = "apple";
public const string Plum = "plum";
public const string Peach = "peach";
public const int WillNotBeIncluded = -1;
}
आप string
इस तरह लगातार मान प्राप्त कर सकते हैं :
List<string> result = typeof(MyFruitKeys).GetAllPublicConstantValues<string>();
//result[0] == "apple"
//result[1] == "plum"
//result[2] == "peach"