イベント ドリブンの 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;
}
}
これは、覚えるにも入力するにも、C# では厄介なパターンです。これをある程度自動化する何らかのショートカットや構造を思いついた人はいますか? object1.InvokeIfNecessary.visible = true
型のショートカットのように、この余分な作業をすべて行う必要なく、このチェックを行う関数をオブジェクトにアタッチする方法があれば素晴らしいと思います。
以前の回答では、毎回 Invoke() を呼び出すだけでは非現実的であると説明されていましたが、それでもInvoke() 構文は非効率的で扱いにくいものです。
それで、誰かがショートカットを見つけましたか?