ইভেন্ট-চালিত জিইউআই কোডে যেখানে নিম্নলিখিত কোড প্যাটার্নটি লিখতে হবে তার জন্য আমি কতক্ষণ বেদনাদায়ক সচেতন হয়েছি
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
লাইন দ্বারা অনুপ্রাণিত একটি বরং পাগল পরামর্শ ভেবেছি ; আমার আপডেট হওয়া উত্তরটি পরীক্ষা করে দেখুন এবং আপনার কী মনে হয় তা আমাকে জানান।