1. 程式人生 > >C#中的事件原理

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("訂閱者已收到雜誌!");
        }

    } 

不知道我的理解對不對,估計以後會知道答案。

問的問題那位老大能幫我解答一下阿!