पर कॉल करने वाले उदाहरण को कैसे प्राप्त करें मेरे पास एक क्रिया है और मुझे आश्चर्य है कि मैं विधि को कॉल करने वाले उदाहरण को कैसे एक्सेस कर सकता हूं।कार्य प्रतिनिधि। विधि
उदाहरण:
this.FindInstance(() => this.InstanceOfAClass.Method());
this.FindInstance(() => this.InstanceOfAClass2.Method());
this.FindInstance(() => this.InstanceOfAClass3.Method());
public void FindInstance(Action action)
{
// The action is this.InstanceOfAClass.Method(); and I want to get the "Instance"
// from "action"
}
धन्यवाद
नहीं है, Delegate.Target वर्ग जहां कार्रवाई लागू किया गया है। मैं उस इंस्टेंस को चाहता हूं जो विधि को कॉल करता है। –
@ जीन उस मामले में मुझे समझ में नहीं आता कि आप क्या कर रहे हैं। कृपया एक छोटा लेकिन * पूरा * उदाहरण –
@ जीन प्रदान करें: कारण यह आपके लिए काम नहीं कर रहा है, क्योंकि आप विधि कॉल को एक बेकार लैम्ब्डा में लपेटेंगे। 'FindInstance (InstanceOfAClass.Method)' (कोई lambda) आज़माएं और यह आपकी इच्छा के अनुसार काम करेगा। यदि आप इसे लैम्ब्डा सिंटैक्स के साथ काम करना चाहते हैं, तो आपको 'अभिव्यक्ति' प्रकार का पैरामीटर स्वीकार करना होगा और अभिव्यक्ति वृक्ष को चलाना होगा। –