[英]C# Subscribing an Event
我有以下帶有3個不同類的代碼。 我試圖將事件從類B訂閱到類ControlSystem中定義的方法(事件處理程序)。 所有的編譯都可以,但沒有問題,但是事件處理程序方法從未觸發過……我在做什么錯?
namespace EventTest
{
public class ControlSystem : CrestronControlSystem
{
A myObject = new A();
public ControlSystem(): base()
{
Thread.MaxNumberOfUserThreads = 100;
// Subscribe Event
myObject.mySubObject.BEvent += HandleBEvent;
// Throw Event
myObject.mySubObject.ThrowEvent();
}
public override void InitializeSystem()
{
}
public void HandleBEvent(object sender, EventArgs args)
{
Console.WriteLine("Something happend to {0}", sender);
}
}
public class A
{
public B mySubObject;
public A()
{
mySubObject = new B();
}
}
public class B
{
public EventHandler BEvent;
public B(){}
public void ThrowEvent()
{
EventHandler handler = BEvent;
if (handler != null)
{
handler(this, EventArgs.Empty);
}
}
}
}
下面是真實的代碼鏈接(它可與嵌入式系統配合使用,因此您將無法編譯它)。 想法是按下按鈕來觸發一個事件,該事件可能會警告其他UI發生了某些事情。
謝謝
您缺少事件關鍵字。
public event EventHandler BEvent;
需要在那里。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.