イベント駆動型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
タイプショートカットのように、この追加のすべての作業を行わずに、このチェックを行う関数をオブジェクトにアタッチする方法があったら、すばらしいでしょう。
前の答えはちょうどたびに呼び出しを()を呼び出すの非現実を議論してきた、とさえ[起動()構文が非効率的との両方で、まだ対処しにくいです。
それで、誰かがショートカットを見つけましたか?
object1.InvokeIfNecessary.Visible = true
ラインに触発されたかなりクレイジーな提案を考えました。私の更新された答えをチェックして、あなたの考えを知らせてください。