यह एक वास्तविक समस्या के बजाय सी # सिंटैक्स प्रश्न का अधिक है जिसे हल करने की आवश्यकता है। मान लें कि मेरे पास एक तरीका है जो एक प्रतिनिधि को पैरामीटर के रूप में लेता है। मान लीजिए कि मैं निम्न विधियों में परिभाषित किया है दो:सी # विधियों का सीधे प्रतिनिधि के रूप में उपयोग करने का कोई तरीका है?
void TakeSomeDelegates(Action<int> action, Func<float, Foo, Bar, string> func)
{
// Do something exciting
}
void FirstAction(int arg) { /* something */ }
string SecondFunc(float one, Foo two, Bar three){ /* etc */ }
अब अगर मैं FirstAction
साथ TakeSomeDelegates
और SecondFunc
तर्कों के रूप कॉल करने के लिए, जहाँ तक मेरा बता सकता हूँ, मैं कुछ इस तरह करने की ज़रूरत हैं:
TakeSomeDelegates(x => FirstAction(x), (x,y,z) => SecondFunc(x,y,z));
लेकिन क्या लैबडा लिखने के बिना आवश्यक प्रतिनिधि हस्ताक्षर फिट करने वाली विधि का उपयोग करने का एक और सुविधाजनक तरीका है? आदर्श रूप से TakeSomeDelegates(FirstAction, SecondFunc)
की तरह कुछ, हालांकि स्पष्ट रूप से संकलित नहीं करता है।
"हालांकि स्पष्ट रूप से संकलन नहीं करता है" ... जो संकलित करना चाहिए :) – porges
woops, मुझे वास्तव में पता नहीं है कि मैं पहले क्या कर रहा था, लेकिन ऐसा लगता है कि यह ठीक है। मुझे लगता है कि यह एक सुंदर मूर्ख सवाल है: एस – guhou
अपने समय के लोगों को बर्बाद करने के लिए खेद है ... मुझे यह भी पता नहीं है कि सही के रूप में चिह्नित करने का क्या जवाब है ... क्या मुझे यह प्रश्न अभी हटाना चाहिए? – guhou