मैं अपने enumHelper वर्ग इन जिसमें है:जाओ Enum <T> मूल्य विवरण
public enum OutputType
{
File,
[Description("Data Table")]
DataTable
}
अब तक तो अच्छा:
public static IList<T> GetValues()
{
IList<T> list = new List<T>();
foreach (object value in Enum.GetValues(typeof(T)))
{
list.Add((T)value);
}
return list;
}
और
public static string Description(Enum value)
{
Attribute DescAttribute = LMIGHelper.GetAttribute(value, typeof(DescriptionAttribute));
if (DescAttribute == null)
return value.ToString();
else
return ((DescriptionAttribute)DescAttribute).Description;
}
मेरी enum कुछ की तरह है । सभी पिछले काम ठीक है। अब मैं BindingList वापस जाने के लिए> एक नया सहायक जोड़ना चाहते हैं, तो मैं किसी भी कॉम्बो के लिए किसी भी enum लिंक
BindingList<KeyValuePair<OutputType, string>> list = Enum<OutputType>.GetBindableList();
cbo.datasource=list;
cbo.DisplayMember="Value";
cbo.ValueMember="Key";
का उपयोग कर सकते हैं कि मैं कहा:
public static BindingList<KeyValuePair<T, string>> GetBindingList()
{
BindingList<KeyValuePair<T, string>> list = new BindingList<KeyValuePair<T, string>>();
foreach (T value in Enum<T>.GetValues())
{
string Desc = Enum<T>.Description(value);
list.Add(new KeyValuePair<T, string>(value, Desc));
}
return list;
}
लेकिन "Enum.Description (मूल्य) "संकलन भी नहीं कर रहा है: तर्क '1': 'टी' से 'सिस्टम' एनम '
मैं इसे कैसे कर सकता हूं? क्या यह भी संभव है?
धन्यवाद।
क्या आपकी विवरण विधि एक विस्तार विधि माना जाता है? यदि ऐसा है, तो आप इस कीवर्ड को याद कर चुके हैं। –
इस प्रश्न पर मेरा उत्तर देखें https://stackoverflow.com/questions/6145888/how-to-bind-an-enum-to-a-combobox-control-in-wpf/12430331#12430331 – Nick