আপনি যদি লক্ষ্য ধরণের থেকে কোনও নির্দিষ্ট ধরণের সমস্ত স্থির মান পেতে চান তবে এখানে একটি এক্সটেনশন পদ্ধতি (এই পৃষ্ঠার উত্তরগুলির কয়েকটি প্রসারিত করা):
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"