2012-04-03 15 views
10

Sınıf B B sınıfı örnekleri, çok sayıda uygulayan sınıfı Sınıf CGeçiş A olayı ben

Sınıf bir örneğini kapsüller olması gerekir olaylar yükseltir A Sınıfı tarafından ele alınır. Sınıf A, C Sınıfı hakkında bilgi sahibi olmaz. C Sınıfı, performansa dayalı A istatistiklerini geri döndürür.

B Sınıfı'ndaki etkinlikleri nasıl oluşturabilirim ve bunları Class A'nın B Sınıfı etkinliklerine abone olmasını ve bu etkinlikleri C Sınıfı'ndan almasını sağlayacak şekilde nasıl bağlarım?

+0

üzgün: Eklentinin varsayılan uygulama & düz ClassC olayın değer geçmesine ClassB yöntemleri kaldırmak geçersiz kılabilir? A Sınıfı * B sınıfı * çok sayıda örneği uygular? Bu tam olarak ne anlama geliyor? Bazı kod sağlayın lütfen –

cevap

21

Bir olay, temsilci alanını sarmalayan bir yöntemden başka bir şey değildir.

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

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