c#中的事件

事件的组成

1.事件的拥有者

2.事件成员

3.事件的响应者

4.事件处理器

5.事件订阅

namespace _7._15day03
{
    public delegate void SayhelloDlg(string content);
    internal class Program
    {
        //声明一个SayhelloDlg类型的事件
        public static event SayhelloDlg SayHelloEvent;
        static void Main(string[] args)
        {
            //声明委托
            //使用委托的方法
            //委托的解释:将方法以变量的形式传递,并且以方法的形式执行
​
            SayhelloDlg dlg = SayHello;
            dlg += SayGoodBye;
            dlg -= SayGoodBye;
            dlg("老王");
            Console.WriteLine("-------------------------------");
            SayhelloDlg dlg1 = delegate (string name)
            {
                Console.WriteLine($"{name}这是一个匿名函数");
            };
            dlg1("老王");
            Console.WriteLine("-------------------------------");
            //Lamda语句
            SayhelloDlg dlg2 = (name) =>
            {
                Console.WriteLine($"{name}这是Lamda语句");
            };
            dlg2("老王");
​
​
            Console.WriteLine("-------------事件的写法---------------");
            //注册事件
            SayHelloEvent += Program_sayHelloEvent;
            if (SayHelloEvent != null)
            {
                SayHelloEvent("老王");
            }
​
​
​
        }
        private static void Program_sayHelloEvent(string name)
        {
            Console.WriteLine($"我是事件!!");
        }
​
​
        public static void SayHello(string name)
        {
            Console.WriteLine($"{name},你好呀");
        }
        public static void SayGoodBye(string name)
        {
            Console.WriteLine($"{name},再见");
        }
    }
}
​

关于事件的书写

委托实例是可以定义在方法里面的,但是事件却是不可以定义到方法里面的 事件其实是一个全局的委托 加上event关键字 目的就是让我们这个委托对象必须是全局的委托实例 要定义在函数外面 类的里面

  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值