2
回答
学些C#中的事件与委托,有一点疑惑。
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace 例题12_9
{
    public delegate void EventHandler(object sender, EventArgs e);  //这里的Eventhandler只是一个名称,理论上可以为任意值 ,对吗?  
    class Program
    {
        public event EventHandler print;                             //这里的Eventhandler为类型
        public void f(object sender,EventArgs e)
        {
            Console.WriteLine("调用方法f()");
        }
      
        static void Main(string[] args)
        {
            Program p = new Program();
            p.print += new EventHandler(p.f);  //这里的EventHandler是指委托的名称吗? 那为什么我换了名称以后还是可以运行? 如果该委托只有一个参数,那么给事件注册方法时就必须和委托的名称一样才可以运行,两者有什么不一样吗?
            if(p.print !=null)
            {
                p.print(null, null);
            }
            Console.ReadLine();

        }
    }
}
 

<无标签>
举报
Tudouvvv
发帖于8个月前 2回/78阅
顶部