2009-06-25 12 views
5

क्या किसी विधि का स्ट्रिंग प्रस्तुति प्राप्त करने के लिए .NET 3.0 (या इससे पहले) में कोई तरीका है? मुझे पता है कि मैं एक विधि बॉडी ऑब्जेक्ट से एक आईएल बाइट सरणी प्राप्त कर सकता हूं, लेकिन मुझे एक स्ट्रिंग प्राप्त करने में दिलचस्पी है जो अनिवार्य रूप से विधि निकाय का प्रतिनिधित्व करता है क्योंकि यह मेरी आंखों में वीएस में दिखाई देता है।सी # विधि का स्ट्रिंग प्रतिनिधित्व

मैंने कोडडोम नेमस्पेस में चारों ओर पोक किया है ताकि यह देखने के लिए कि क्या रनटाइम पर CodeMemberMethods में विधियों को रूपांतरित करने का कोई तरीका है, लेकिन मैं अब तक सूख गया हूं।

किसी भी विचार?

उत्तर

12

यह बहुत ही जटिल काम है। असल में, आप अपने कोड में reflector को फिर से लिखना चाहते हैं ... और यह न भूलें कि सभी आईएल को उलट नहीं किया जा सकता है।

संक्षिप्त उत्तर "नहीं, कुछ भी नहीं बनाया गया" है।

यहां तक ​​कि अभिव्यक्ति पेड़ (लैम्बडास से) पूरी तरह से आसानी से उचित तारों पर वापस नहीं लौटाया जा सकता है।

2

परावर्तक एपीआई के साथ घूमने का प्रयास करें (आप यह जांचना चाहेंगे कि लाल गेट इसे खत्म करने के बाद भी यह उपलब्ध है या नहीं)।

फिर भी यदि आप सफल होते हैं तो भी आप स्थानीय परिवर्तनीय नाम, टिप्पणियां या कुछ प्रारूपण जैसी कुछ मूल जानकारी खो देंगे।

मूल रूप से संकलन के दौरान फेंक दिया गया सब कुछ अच्छा के लिए खो गया है।

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