मुझे दर्द हो रहा है कि बस कितनी बार किसी को इवेंट-संचालित GUI कोड में निम्नलिखित कोड पैटर्न लिखने की आवश्यकता है, जहां
private void DoGUISwitch() {
// cruisin for a bruisin' through exception city
object1.Visible = true;
object2.Visible = false;
}
हो जाता है:
private void DoGUISwitch() {
if (object1.InvokeRequired) {
object1.Invoke(new MethodInvoker(() => { DoGUISwitch(); }));
} else {
object1.Visible = true;
object2.Visible = false;
}
}
यह सी # में एक अजीब पैटर्न है, दोनों को याद रखने के लिए, और टाइप करने के लिए। क्या किसी ने किसी प्रकार का शॉर्टकट बनाया है या निर्माण किया है जो इसे एक हद तक स्वचालित करता है? यह शांत होगा यदि कोई ऑब्जेक्ट को फ़ंक्शन को संलग्न करने का एक तरीका था जो इस object1.InvokeIfNecessary.visible = true
प्रकार के अतिरिक्त काम से गुजरने के बिना यह जांच करता है, जैसे कि एक प्रकार का शॉर्टकट।
पिछले उत्तरों ने हर बार सिर्फ इनवोक () को कॉल करने की अव्यवहारिकता पर चर्चा की है, और फिर भी इनवोक () सिंटैक्स दोनों अक्षम और अभी भी अजीब है।
तो, क्या किसी ने कोई शॉर्टकट निकाला है?
object1.InvokeIfNecessary.Visible = true
लाइन से प्रेरित एक पागल सुझाव है ; मेरे अपडेट किए गए उत्तर को देखें और मुझे बताएं कि आप क्या सोचते हैं।