委托与事件

本文介绍C#中委托与事件的基本概念及应用案例,包括如何定义委托、触发事件以及通过委托实现事件的功能。并通过具体示例演示了委托在实际编程中的使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

委托的应用:
1.多线程——线程由多个进程组成【windows任务管理器】
2.自定义类或控件、通信、事件[可以将用户名和密码写成一个事件]

事件:event Delegate事件和委托配合使用

通过委托来实现事件的功能的问题:
1.可以在类的内部来触发,也可以在类的外部触发。因为委托变量必须是
public类型的。
2.委托变量的赋值方式可以使用=,这样就有可能把之前的委托指向覆盖

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

namespace _914
{public delegate void DoDelegate();
    class Program
    {
        static void Main(string[] args)
        {
            Bowuguan bowuguan = new Bowuguan();
            bowuguan.doSth = Delegate;
            bowuguan.PressButton();
            //bowuguan.Alert();
            bowuguan.doSth();//这里即使没有报警,不按下按钮,想调

用代理方法doSth()方法,就可以调用。???
           
           
            Console.ReadKey();
        }
        static void Delegate()
        {
            Console.WriteLine("通知110,通知120,通知保险公司");
        }
        public class Bowuguan
        {
            public DoDelegate doSth;
        //报警()
            public void Alert()
            {
                //Console.WriteLine("叮叮叮,发出报警,通知保安!

");
                //DoSth();
                if (doSth !=null)
                { doSth(); }

            }
       //按下警铃时
            public void PressButton()
            {
              Alert();
             }
        }
    }
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值