अपने कोड
dsufac.Do(WriteToConsoleWithSomethingExtra("Test"));
में निम्नलिखित
var variable = WriteToConsoleWithSomethingExtra("Test");
dsufac.Do(variable);
WriteToConsoleWithSomethingExtra की वापसी प्रकार के रूप में की तरह व्याख्या की है ("टेस्ट") शून्य है, तो आप वास्तव में करने के लिए इसे पारित नहीं कर सकते dsufac.Do()। यही कारण है कि यह संकलित नहीं हो रहा है। लेकिन पहले एक
dsufac.Do(WriteToConsole);
के लिए आप फ़ंक्शन को कॉल नहीं कर रहे हैं, बल्कि आप एक विधि समूह, जो बाद में dsufac वस्तु की विधि क्या() में लागू हो गया है के रूप में यह गुजर रहे हैं।लेकिन अगर आप 1 एक के रूप में 3 लाइन लिखना चाहते हैं, तो आप उपयोग कर सकते हैं
dsufac.Do(() => WriteToConsoleWithSomethingExtra("Test"));
स्रोत
2010-08-02 12:47:19
मैं हमेशा उत्तर है कि मुझे मदद की बाहर चिह्नित। यदि कोई समाधान नहीं है जो कुछ उपयोगी प्रदान करता है तो मैं इसे तब तक चिह्नित नहीं करता जब तक कि मुझे वह जवाब न मिले जो मुझे मदद करता है। –