How to detect an anonymous object with .NET Reflection? -


संभावित डुप्लिकेट:

क्या कोई पता लगाने का कोई तरीका है कि एक वस्तु वस्तु एक अनाम वस्तु को संदर्भित करती है?

  var obj = new {A = "नमस्ते"}; प्रकार x = obj.GetType (); // क्या एक्स के समान कुछ है? क्या अनाम है? Assert.IsTrue (x.IsAnonymous);  

नहीं, कोई रास्ता नहीं है क्योंकि गुमनाम प्रकार केवल एक संकलन समय आर्टिफैक्ट हैं रनटाइम वे कम्पाइलर द्वारा उत्सर्जित सिर्फ नियमित प्रकार हैं जैसा कि वे कंपाइलर उत्पन्न करते हैं, उन प्रकार को चिह्नित किया जाता है, जिनका उपयोग यह निर्धारित करने के लिए किया जा सकता है कि यह मामला है।

  var obj = new {A = "Hello"}; Var isAnonTypeCandidate = obj .GetType () .GetCustomAttributes (typeof (CompilerGeneratedAttribute), सत्य) .उंट () & gt; 0;  

निश्चित रूप से इस विशेषता से सजाए गए प्रकारों के लिए true वापस आ जाएगा, इसलिए यह 100% गारंटी नहीं है कि यह एक अनाम प्रकार है

< / div>

Comments