0

オブジェクトのパブリック変数であるbool変数に変化があった場合、すぐにプログラムに通知したい。例えば;

たとえば、connWindows フォーム アプリケーション内でクラスのインスタンスが作成されます。

変数がありReady、conn クラスのパブリック変数が存在します。

この変数に変更があるたびに通知を受け取りたいです。

stackoverflow 内でこの問題を解決するために簡単な調査を行いましたが、答えはプロパティの使用を示唆しており、これは私のアプリケーションには適していないと思います。

4

2 に答える 2

1

これにはObserver パターンを使用します。.NET でこれを行う最も簡単な方法は、イベント システムです。classconnで、イベントを作成します。

public event EventHandler ReadyChanged;

のインスタンスを作成するときにconn、そのイベントをサブスクライブします。

o.ReadyChanged += (s, e) =>
{
    // do something
}

そして最後に、 でフラグが変更されたときに、connという名前の新しいメソッドを介してイベントを発生させOnReadyChangedます。

protected virtual void OnReadyChanged()
{
    if (ReadyChanged != null) { ReadyChanged(this, new EventArgs()); }
}
于 2013-08-19T13:30:22.600 に答える