2012-04-03 10 views
10

クラスB クラスBのインスタンスの多数を実装するクラスAがクラスCパスイベントが私は

クラスのインスタンスをカプセル化することが必要なイベントを発生させクラスAによって処理される。 クラスAはクラスCについて知る必要はない。 クラスCは、Aが次に合体する必要のあるパフォーマンスベースの統計を返す。

クラスBでイベントを作成してクラスAのイベントをサブスクライブし、クラスCからイベントを受信できるようにするにはどうすればよいですか?

+0

申し訳ありません:あなたは、追加のデフォルトの実装&ストレートClassCでイベントに値を渡すためにClassBでメソッドを削除をオーバーライドすることができますか?クラスA *はクラスB *のインスタンスを多数実装していますか?それはどういう意味ですか?いくつかのコードを提供してください –

答えて

21

イベントは、デリゲートフィールドをラップする一対のメソッドです。

public class ClassB 
{ 
    private ClassC m_C = new ClassC(); 

    public event EventHandler MyEvent 
    { 
     add { m_C.MyEvent += value; } 
     remove { m_C.MyEvent -= value; } 
    } 
}