सी # के भीतर एक चर को परिभाषित करने के लिए फ्लाई पर एक नया फ़ंक्शन बनाना संभव है?सी # परिवर्तनीय = नया फ़ंक्शन() {};
मुझे पता है कि
string getResult() {
if (a)
return "a";
return "b";
}
String result = getResult();
संभव है, लेकिन मैं की तरह
String result = new string getResult() {
if (a)
return "a";
return "b";
}
यह संभव है कुछ के लिए देख रहा हूँ? यदि हां, तो क्या कोई दिखाएगा?
संपादित यह संभव है
संपादित करें: फाइनल - समाधान
यह है कि मैं क्या barbarically एक साथ काट दिया
Func<string> getResult =() =>
{
switch (SC.Status)
{
case ServiceControllerStatus.Running:
return "Running";
case ServiceControllerStatus.Stopped:
return "Stopped";
case ServiceControllerStatus.Paused:
return "Paused";
case ServiceControllerStatus.StopPending:
return "Stopping";
case ServiceControllerStatus.StartPending:
return "Starting";
default:
return "Status Changing";
}
};
TrayIcon.Text = "Service Status - " + getResult();
(यदि मैं पूछताछ के इरादे को समझता हूं ...) मैं इसके खिलाफ अनुशंसा करता हूं, क्योंकि यह नहीं है कि 'फ़ंक का आमतौर पर उपयोग किया जाता है, और आपके कोड के भविष्य के पाठकों (स्वयं को शामिल) में भ्रमित कर देगा जो अधिक परिचित हैं सामान्य 'Func' उपयोग पैटर्न के साथ। जब तक कि यह वास्तव में एक उदाहरण नहीं है जहां 'Func' या' action' अधिक समझ में आएगा, या तो कोड को रेखांकित करें, या इसे एक अलग विधि बनाएं। –
मुझे असहमत होना होगा। जबकि मुझे नहीं पता कि ओपी की जरूरत क्या है और यह एक समेकित उदाहरण है, परिभाषित करने और बार-बार/सशर्त रूप से/अंततः एक प्रतिनिधि को निष्पादित करने की क्षमता शक्तिशाली और आम दोनों है। लेकिन यह सिर्फ मुझे है। –
यह वास्तव में मेरे लिए काम नहीं करेगा क्योंकि टिम एस ने कहा था। अगर मैं इस मार्ग का उपयोग करना चाहता हूं, तो मैं इसे सिर्फ एक अलग तरीके से परिभाषित करता हूं। ऐसा करने में मेरा एकमात्र वास्तविक उद्देश्य यह आलसी शैली की तरह एक पंक्ति में आलसी शैली को परिभाषित करना था, या जो मुझे विश्वास है वह जावो में भी संभव है। यह समझने पर कि मैं शुरू में इरादा से कठिन हो सकता हूं, मैं उत्सुक था कि इसे कैसे कार्यान्वित किया जा सकता है, अगर इसे वास्तव में कार्यान्वित किया जा सकता है। –