C# 委托和事件(史上最简单的委托和事件的教程)

委托 说白了就像是C语言中的 函数指针

一个很简单的例子
按钮触发单击事件 消息自动显示
源码如下:

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

namespace 委托
{

//项目说明:用委托的方式实现 按钮点击显示消息

public class btn  //此次事件的父项【按钮】
{
    //父项 定义委托 并用委托声明事件
    public delegate void bt_click();
    public event bt_click bt_click_event;

    //在方法中包含此事件(只要点击此事件就自动发生 传给子项)
    public void click()
    {
        Console.WriteLine("我点了按钮");
        bt_click_event(); //注意事件最好放在最后 书写 

       

    }

}
public class msg  //此次事件的子项【消息】
{
    public void ShowMsg()
    {
        Console.WriteLine("开始显示信息并输出");
        Console.ReadLine();

    }

}


class Program
{

    static void Main(string[] args)
    {
        //实例化两个对象(父子项)
        btn bt = new btn();
        msg mg = new msg();
        //将付项的事件绑定到子项方法(也可以叫订阅父项事件) 用方法订阅事件
        bt.bt_click_event += new btn.bt_click(mg.ShowMsg);
        bt.click();
    }
}

}

你可能感兴趣的:(C#,设计模式)