के कस्टम गुण प्राप्त करें WinRT .NET अनुप्रयोग (सी #) में मैं कस्टम गुण प्राप्त करना चाहता हूं, जो कि enum value पर परिभाषित हैं। उदाहरण के लिए निम्नलिखित enum लें:enum value
public enum MyEnum
{
[Display(Name="Foo")]
EnumValue1,
[Display(Name="Bar")]
EnumValue2
}
अब "सामान्य" .NET में मुझे पता है कि मैं enumValue.GetType().GetMember(enumValue.ToString())
के साथ एक enum मूल्य की कस्टम विशेषताओं प्राप्त करने में सक्षम हूँ।
दुर्भाग्यवश, WinRT .NET में GetMember()
विधि प्रकार वर्ग पर उपलब्ध नहीं है।
कोई सुझाव इस के साथ कैसे जाना है?
============================================== =======
नीचे मार्क के लिए धन्यवाद, मुझे उत्तर मिला! निम्नलिखित कोड .NET 4.5 WinRT में एक enum मूल्य से एक विशिष्ट कस्टम विशेषता प्राप्त करने के लिए काम करता है:
public static class EnumHelper
{
public static T GetAttribute<T>(this Enum enumValue)
where T : Attribute
{
return enumValue
.GetType()
.GetTypeInfo()
.GetDeclaredField(enumValue.ToString())
.GetCustomAttribute<T>();
}
}
कृपया "WinRT C#:" और इस तरह के यूर शीर्षक का उपसर्ग न करें। टैग के लिए यही है। –
Thats संभव नहीं है। Type.GetMember अभी भी .NET 4.5 में मौजूद है! – logicnp
@logicnp: WinRT API पूर्ण .NET API का सबसेट है। –