.NET फ्रेमवर्क, संस्करण 4.5 के नवीनतम संस्करण में, MethodBuilder वर्ग एक विधि SetMethodBody
मुझे विश्वास है कि वास्तव में क्या मैं (ILGenerator उपयोग करने के लिए एक विकल्प के रूप में देख रहा हूँ है जो कहा जाता है परेशान और विषम तरीकों से सीमित)। प्रलेखन here पाया जा सकता है, हालांकि बाद से .NET 4.5 अभी तक बाहर नहीं है, यह पूरी तरह से प्रलेखित नहीं है। मैं दो तर्कों के अलावा सभी की आपूर्ति कर सकता हूं, लेकिन शेष मुझे मदद की ज़रूरत होगी।.NET 4.5 MethodBuilder.SetMethodBody
पहला यह है कि मुझे समझ नहीं आता byte[] localSignature
, तीसरा तर्क है। MSDN कहा गया है कि यह "बाइट्स कि धारावाहिक स्थानीय चर संरचना शामिल की एक सरणी। अशक्त निर्दिष्ट करें यदि विधि कोई स्थानीय चर है।" मुसीबत यह है कि, यह सब कुछ कहता है, और मुझे "धारावाहिक स्थानीय परिवर्तनीय हस्ताक्षर" के प्रारूप का पता नहीं लगाया जा सकता है। मैंने ईसीएमए -335 स्पेक में देखने की कोशिश की है, लेकिन मुझे पता चला है कि असीमित सीआईएल में स्थानीय चर निर्दिष्ट करने के लिए। अगर कोई इसे समझने में मेरी मदद कर सकता है, तो इसकी सराहना की जाएगी।
इसके अलावा, अंतिम तर्क IEnumerable<int> tokenFixups
, जो है "मूल्यों है कि इल में ऑफसेट प्रतिनिधित्व करते हैं, एक टोकन है कि संशोधित किया जा सकता की शुरुआत निर्दिष्ट करता है, जिनमें से प्रत्येक का एक संग्रह है। अशक्त निर्दिष्ट करें यदि विधि कोई टोकन है कि है संशोधित किया जा सकता है। " मुझे संदेह है कि मुझे इनका उपयोग करने की आवश्यकता नहीं होगी, लेकिन मैं जानना चाहता हूं कि वे वैसे भी क्या हैं।
धन्यवाद, ब्रैंडन
आप SignatureHelper वर्ग की आवश्यकता होगी। फिक्सअप केवल उन कंपाइलरों के लिए हैं जो मूल कोड को आईएल में अनुवाद करते हैं, जैसे सी ++/सीएलआई। –
@ हंस पासेंट: उत्तर के लिए धन्यवाद! :) – aboveyou00