c# - Convert Expression<Func> to Expression<Func> -
आप इस सामान्य प्रश्न का उत्तर है: क्या इस मामले में सबसे अच्छी पद्धति है? क्या ऐसा कोई आसान तरीका नहीं है कि बार ने आईबीआर लागू किया? तो, यह अनुक्रमित उदाहरण कोड दिया गया: यह समस्या दर्शाता है: कोई भी विचार कैसे मैं कुछ विधि विधि के जैसा कुछ हासिल कर सकता हूं? चूंकि यह मामला सरल है और केवल "कास्टिंग" मुद्दों से संबंधित है, एक शॉर्टकट है: अभिव्यक्ति & lt; Func & lt; IBar, T & gt; & gt; से
अभिव्यक्ति & lt; Func & lt; Bar, T & gt; & gt; जब बार आईबीआर लागू करता है?
सार्वजनिक वर्ग फ़ू & lt; T & gt; {निजी रीडोनली सूची & lt; T & gt; _list = नई सूची & lt; T & gt; (); सार्वजनिक शून्य जोड़ें (टी आइटम) {_list.Add (आइटम); } सार्वजनिक बाल AnyFunc (Func & lt; T, bool & gt; अर्थ) {return_list.Any (predicate); } सार्वजनिक बूल एई एक्सप्रेशन (एक्सप्रेशन एंड लेफ्टिनेंट; फ़नक एंड टीटी; टी, बॉल & gt; अभिव्यक्ति) {लौटें _लिस्ट.एस्केनेबल ()। कोई भी (अभिव्यक्ति); }} सार्वजनिक इंटरफ़ेस IBar {string name {get; }} सार्वजनिक वर्ग बार: IBar {सार्वजनिक स्ट्रिंग नाम {get; सेट; }}
सार्वजनिक वर्ग टेस्ट () {निजी फू & lt; बार & gt; _ फ़ोबोबार = नया फ़ू & lt; बार & gt; (); सार्वजनिक शून्य SomeMethodFunc (Func & lt; IBar, bool & gt; predicate) {// COMPICK और काम करता है, Func & lt; IBar, bool & gt; फ़ुटक & lt; बार, बूल & gt; Var पाया = _foobar.AnyFunc (predicate); } सार्वजनिक शून्य से कुछ मितव्यय अभिव्यक्ति (अभिव्यक्ति और लेफ्टिनेंट; फोंक एंड एलटी; आईबीआर, बॉल & gt; & gt; अभिव्यक्ति) {// अनुपूरित नहीं होगा - अभिव्यक्ति से नहीं लाया जा सकता है & lt; फ़नक & lt; IBar, bool & gt; & gt; अभिव्यक्ति के लिए & lt; फ़नक & lt; बार, बूल & gt; & gt; Var पाया = _foobar.AnyExpression (अभिव्यक्ति); }}
सार्वजनिक रूप से कुछ म्यूटएक्सप्रेस (अभिव्यक्ति और लेफ्टिनेंट; फ़ंक्शन और एलटी; आईबीआर, बॉल & gt; & gt; अभिव्यक्ति) {अभिव्यक्ति और लेफ्टिनेंट ; फ़नक & lt; बार, बूल & gt; & gt; लैम्ब्डा = अभिव्यक्ति। लैम्ब्डा & lt; फ़नक & lt; बार, बूल & gt; & gt; (अभिव्यक्ति। बॉडी, एक्सप्रेशन। पैरामीटर); Var पाया = _foobar.AnyExpression (लैम्ब्डा); }
Comments
Post a Comment