আমি অন্য সমাধান যুক্ত করতে চাই: আমার ক্ষেত্রে, আমাকে ড্রপ ডাউন বোতামের তালিকা আইটেমগুলিতে একটি এনুম গ্রুপ ব্যবহার করা উচিত। সুতরাং তাদের স্থান থাকতে পারে, যেমন আরও ব্যবহারকারী বান্ধব বিবরণ প্রয়োজন:
public enum CancelReasonsEnum
{
[Description("In rush")]
InRush,
[Description("Need more coffee")]
NeedMoreCoffee,
[Description("Call me back in 5 minutes!")]
In5Minutes
}
একটি সহায়ক শ্রেণিতে (হেল্পার ম্যাথডস) আমি নিম্নলিখিত পদ্ধতিটি তৈরি করেছি:
public static List<string> GetListOfDescription<T>() where T : struct
{
Type t = typeof(T);
return !t.IsEnum ? null : Enum.GetValues(t).Cast<Enum>().Select(x => x.GetDescription()).ToList();
}
আপনি যখন এই সহায়ককে কল করবেন আপনি আইটেমের বিবরণীর তালিকা পাবেন।
List<string> items = HelperMethods.GetListOfDescription<CancelReasonEnum>();
সংস্থান: যে কোনও ক্ষেত্রে, আপনি যদি এই পদ্ধতিটি প্রয়োগ করতে চান তবে আপনার প্রয়োজন: এনামের জন্য গেটডেস্ক্রিপশন এক্সটেনশন। এটিই আমি ব্যবহার করি।
public static string GetDescription(this Enum value)
{
Type type = value.GetType();
string name = Enum.GetName(type, value);
if (name != null)
{
FieldInfo field = type.GetField(name);
if (field != null)
{
DescriptionAttribute attr =Attribute.GetCustomAttribute(field,typeof(DescriptionAttribute)) as DescriptionAttribute;
if (attr != null)
{
return attr.Description;
}
}
}
return null;
/* how to use
MyEnum x = MyEnum.NeedMoreCoffee;
string description = x.GetDescription();
*/
}