C# 中【委托】的简单理解

文章通过生活中的三个场景解释了委托的概念,如外卖员与保安的委托关系,不够资格的人委托有资格的人办事。在C#编程中,委托允许将方法作为参数传递,特别是当一个非子线程需要访问主线程资源时。文章提供了一个简单的委托声明、实例化和调用的过程,并附有运行示例。
摘要由CSDN通过智能技术生成

        先不说 C# 中的委托编程,先从生活中的例子入手。

        场景一:

        防疫期间,外卖人员不能进入花园小区。外卖小哥到了花园小区门口,只好【委托】花园的保安人员,把东西送上楼去。

        场景二:

        有资格的人,都在排队办事。那么不够资格排队的人,也想要办同样的事,应该怎么办?那就只好【委托】那些有资格的人帮忙办了。

        场景三:

        C# 编程时,经常碰到:一个进程,不是任何一个子线程,都可以去使用某些资源,比如主线程的列表框。这个时候,就需要【委托】。

        委托有很多种,只说一种,大概这么做:

     

1.      声明委托;委托的关键字   delegate  + 返回值类型  + 委托类型名(参数)

2.      想委托做点什么;就是写一个方法,就是要做什么的代码,也可以说是要执行的代码;

3.      创建一个委托实例;

4.      调用委托实例;关键字 invoke 去调用委托实例,完成任务。

5.       举个例子,说明上面的步骤,运行验证过,也可以到网上找找实例,更容易理解一些。       

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

namespace ConsoleApplication1
{
    internal class Program
    {
        // 声明一个委托类型
        public delegate string DelegateTest();

        private static void Main(string[] args)
        {
            // 实例化委托
            DelegateTest wt = new DelegateTest(Program.weituo_str);
            
           // 调用委托
            Console.WriteLine(Environment.NewLine + wt.Invoke());

            Console.Read();
        }
    
        //委托方法
        private static string weituo_str()
        {
            return " 委托试试!";
        }
  } 

}

6.      运行结果图:

 
     
       

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

watsonbu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值