0
我對編程非常陌生,但我非常肯定我幾乎將這件事情弄糟了。我想我只需要幾點。我試圖創建一個事件的簡單例子,只是簡單地說「你好!」每秒鐘左右。首先,我有我的 「發佈者」 級:瞭解C中的事件#
public class Publisher
{
public delegate void MyEventHandler();
public event MyEventHandler MyEvent;
public void MyMethod()
{
while (true) { Thread.Sleep(1000); if (MyEvent != null) { MyEvent(); } }
}
}
接下來,我有我的 「用戶」 類:
public class Subscriber
{
public void Subscribe(Publisher TheObject)
{
TheObject.MyEvent += new Publisher.MyEventHandler(SayHello);
}
public void SayHello() { Console.WriteLine("Hello!"); }
}
最後,在我的計劃:
public class Program {
static void Main(string[] args) {
var ThePublisher = new Publisher();
var TheSubscriber = new Subscriber();
TheSubscriber.Subscribe(ThePublisher);
ThePublisher.MyEvent();
}
}
編譯器說,雖然我有一個錯誤。它在「ThePublisher.MyEvent();」中的「MyEvent」下面放置了一條紅線。在程序中。錯誤說「事件'NameOfProject.Publisher.MyEvent'只能出現在+ =或 - =的左側(除了在類型'NameOfProject.Publisher'內使用)」但是,我知道我把「+ =」,沒有別的。它在我的訂閱者類中聲明。我錯過了什麼?我究竟做錯了什麼?