-1

これは、メインの UI フォームで通常の .Invoke または .BeginInvoke ではなく、なぜ SynchronizationContext の .Send または .Post を使用する必要があるのか​​を尋ねた、以前の投稿hereに関連しています。

私の問題は、Invoke で使用していたデリゲートが、ラベルを変更する実際のテキストを保持する 1 つの文字列と、テキストを変更する必要があるラベルの名前を保持する別の文字列の 2 つのパラメーターを取るメソッドに関連付けられていることです。 .

現在の問題は、.Send および .Post が SendOrPostCallbake デリゲートのみを入力として取り、そのデリゲートをパラメーターとして単一のオブジェクトを持つメソッドにのみ関連付けることができることです。すべてをオブジェクトにパックできるため、変数をパックするクラスを作成するか (そのオプションの実装方法は理解しています)、もう 1 つはクロージャーでラムダ式を使用することです。やり方がわからないのは後者です。

基になるメソッドに 2 つの文字列パラメーターがある場合に _synch.Send() でラムダ式を使用する方法についてのガイダンスをいただければ幸いです。

編集。コメントのガイダンスに基づいて、私は自分の質問に答えることができました。将来の訪問者のために、以下のソリューションを投稿しました。

4

1 に答える 1