1

私はイベントでいくつかの問題を抱えています:

私が3つのクラスを持っているとしましょう。1つは「マスター」で、2つは「スレーブ」です。

マスターはスレーブをインスタンス化します。

スレーブの1つは、実行中のプログラムのさまざまな側面についてレポートするdebug-displayクラスです。もう一方のスレーブには、debug-displayがレポートする必要のある変数を持つ独自のオブジェクトが含まれています。

私が最初に思いついたのは、スレーブとスレーブのサブクラスのプロパティを公開し、マスターにそれをデバッグ表示に渡させることですが、それは非常に貧弱な設計のように見えますか?

そこで、少し読んで、C#のデリゲートについて学びました(基本を理解し、いくつかの簡単な例を自分でコーディングすることができました)。

私が見つけたすべての例には、例外をスローするクラスの扇動者でもあるリスナーが含まれています。では、2人の子間のイベント(またはデータ)の受け渡し/処理をどのようにサポートする必要がありますか?

アドバイスをいただければ幸いです。

PS:私はこれをグーグルで検索しようとしましたが、イベント/委任を含む多くの例を見つけましたが、これはあまり好きではありません...

4

1 に答える 1

2

イベントを使用する場合、2 つの異なるクラスを一緒に接続できます。つまり、

o1.MyEvent += o2.MyHandler;

WinForms の設計者が常に使用しているからthis.MyHandlerといって、それが唯一の選択肢であるとは限りません。

また、Microsoft のドキュメント「方法: プロパティ変更通知を実装する」も参照してください。

于 2012-04-27T20:28:22.120 に答える