6

मेरे पीसीएल कोर प्रोजेक्ट (WP8, एंड्रॉइड, आईओएस, एक्समरिन, एमवीवीएमक्रॉस) में मैं कस्टम विशेषताओं का उपयोग करता हूं। Type.GetCustomAttributes() एक्सटेंशन विधि मुझे उपयोग की गई विशेषताओं की जांच करने देती है।पोर्टेबल क्लास लाइब्रेरी प्रोफाइल 78 गायब विशेषता संबंधित विधियों/गुण

पीसीएल प्रोफाइल 104 का उपयोग करना यह अच्छी तरह से काम करता है। लेकिन क्योंकि मैं async/await का उपयोग करना चाहता हूं, मुझे पीसीएल प्रोफाइल 78 (और .NET 4.5)

समस्या का उपयोग करना होगा: GetCustomAttributes() और विशेषता गुण प्रोफ़ाइल 78 में उपलब्ध नहीं हैं। क्यूं कर??

नोट: मैं पीसीएल प्रोफाइल 104 क्लास लाइब्रेरी बनाकर और GetCustomAttributes() को लपेटकर और फिर इस लाइब्रेरी को मेरी पीसीएल प्रोफाइल 78 लाइब्रेरी से संदर्भित करके कामकाज की तलाश में हूं। हालांकि ऐसा लगता है extensionmethods समर्थित नहीं हैं ...

उदाहरण कोड:

public Pcl78Class() 
{ 
    Type t = this.GetType(); 
    var attributes = t.Attributes; 
    var customAttributes = t.GetCustomAttributes(true); 

    // another weird thing: Why is VS CodeCompletion telling me it knows CustomAttributeExtensions class and methods? 
    //System.Reflection.CustomAttributeExtensions.GetCustomAttributes(t); 
} 

enter image description here

+0

यह प्रोफाइल 7 – benhorgen

उत्तर

13

समस्या: GetCustomAttributes() और गुण संपत्ति लगता Profile78 में उपलब्ध नहीं हैं। क्यूं कर??

Profile78 includes support for Windows Store 8 (जैसा कि मेरे ब्लॉग पर नोट किया गया है), और Windows Store has a more efficient implementation of Type-based reflection। अनिवार्य रूप से, आपको TypeInfo प्राप्त करने के लिए बस Type.GetTypeInfo पर कॉल करना होगा, और वहां से यह बहुत सरल होना चाहिए।

+0

में भी होता है अरे, मैंने System.Reflection.GetTypeInfo पर स्विच किया - लेकिन यह हमेशा शून्य हो रहा है। मैं प्रोफाइल 4 9 कोशिश कर रहा हूँ। कोई सुझाव? – skimania

+0

@skimania: यह इस से एक अलग सवाल है, इसलिए आपको इसे एक अलग प्रश्न के रूप में पोस्ट करना चाहिए। फिर अधिक लोग इसे देखेंगे और आपको बेहतर उत्तर मिलेंगे। –

संबंधित मुद्दे