Saturday 15 February 2014

Enabling a fluent design in c# objects -


मेरे पास सी # की एक पंक्ति है:

  cats.Add (नया कैट ("खुश ") {मीन = झूठी})   

मैं बिल्ली को संशोधित करने के साथ और फिर इस तरह से लागू होते हैं:

  बिल्लियों.एड (फिक्स (नया बिल्ली ("खुश")) {मतलब = झूठी})   

लेकिन मैं नहीं कर सकता। ऊपर काम करने के लिए फिक्स () विधि को कैसे करना चाहिए?

यह नहीं होगा ऐसा काम नया एक्स () {} एक प्रारंभकर्ता है, और आप कन्स्ट्रक्टर के आसपास एक फिक्स कॉल करने के बाद उस पर सम्पत्ति / फ़ील्ड बाइंडिंग को विभाजित नहीं कर सकते। फ़िक्स फ़ंक्शन को कॉल करने से पहले संपत्ति / फील्ड बाइंडिंग का मूल्यांकन किया जाना चाहिए

आपको यह करना होगा:

 < कोड> सार्वजनिक बिल्ली फिक्स (बिल्ली बिल्ली) {...} बिल्लियों। जोड़ें (फिक्स (नई बिल्ली ("खुश") {मतलब = झूठी}));   

या इस तरह एक विस्तार विधि:

  सार्वजनिक स्थिर वर्ग CatExtensions {सार्वजनिक स्थिर बिल्ली फिक्स (यह बिल्ली बिल्ली) {...}} बिल्लियों जोड़ें (नई बिल्ली ("खुश") {मतलब = झूठी}। फिक्स ());   

या यदि आप थोड़ा अधिक साहसिक हैं, तो आप एक गतिशील प्रकार स्वीकार कर सकते हैं:

  सार्वजनिक बिल्ली फिक्स (बिल्ली बिल्ली, गतिशील गुण) {.. ।) बिल्लियों। जोड़ें (फिक्स (नई बिल्ली ("खुश"), नया {मीनू = गलत})); // एक्सटेंशन विधि: सार्वजनिक स्थैतिक वर्ग CatExtensions {सार्वजनिक स्टेटिक कैट फिक्स (यह बिल्ली बिल्ली, गतिशील गुण) {...}} बिल्लियों। जोड़ें (नई बिल्ली ("खुश")। फिक्स (नया {मतलब = गलत}) ;   

या एक सामान्य विधि:

  सार्वजनिक बिल्ली फिक्स & lt; T & gt; (बिल्ली बिल्ली, T गुणधर्म) {...} cats.Add (फिक्स ( नई बिल्ली ("खुश"), नया {मीनू = गलत}); // एक्सटेंशन विधि: सार्वजनिक स्थैतिक वर्ग CatExtensions {सार्वजनिक स्थिर कैट फिक्स & lt; T & gt; (यह बिल्ली बिल्ली, टी गुणधर्म) {...}} बिल्लियों। जोड़ें (नई बिल्ली ("खुश")। फिक्स (नया {मतलब = गलत }));    

No comments:

Post a Comment