C#中的事件原理
看了幾遍,終於有所得,根據從163上下載來的視訊,應該是這樣的
class Publisher
{
public delegate void Publish(); //1、定義一個委託,也就是事件接收者處理接收到該事件時的統一介面
public event Publish OnPublish;//2、定義一個格式化的委託鏈,以便方便的新增和刪除事件的接收者
public void Issue() //3、定義一個觸發制定事件的方法
{
if (OnPublish != null) //因為OnPublish 是委託鏈,類似於類陣列,可以檢查一下有沒有訂約人
{
Console.WriteLine("出版社已經發行刊物");
OnPublish(); //問題1 觸發事件,這裡為什麼要用OnPublish而不是Publish呢?除了OnPublish是
} //委託鏈以外,是不是還因為Publish相當於類,而OnPublish相當於例項呢?
}
}
class Subscriber
{
public void Recive() //5、事件訂閱方法,一定要與事件傳送者定義的委託函式一致,原因說簡單一點就是事件
{ //
Console.WriteLine("訂閱者已收到雜誌!");
}
}
不知道我的理解對不對,估計以後會知道答案。
問的問題那位老大能幫我解答一下阿!