【C#学习笔记】C#中委托

概述

C#的委托是一种类型安全的函数指针,用于引用方法,委托允许方法作为参数传递,或者将方法赋值给委托变量,并通过委托调用方法。

委托类型:委托定义了方法的的签名([方法的参数类型和返回值]),所以,委托只能引用符合签名的方法。

委托实例:委托是一个引用类型,可以实例化并指向一个或多个符合委托签名的方法。

多播委托:C#支持将多个方法绑定到一个委托实例中,这种委托称为“多播委托”,可以依次调用这些方法。


委托声明

自定义委托的声明使用delegate关键字,类似于方法的签名,但是它是一个[引用类型],指定了返回值以及参数类型。

public delegate int CustomDelegate(int x,int y);

CustomDelegate是委托的类型,可以引用任何为 int Method(int x ,int y)的方法,注意返回值和参数类型要一致。


委托使用

以图片处理为例,假设封装了一个图片处理的SDK给三方做二次开发,如果三方想拓展图片处理的方法,又不能在SDK中拓展,使用委托方式比较合适,支持客户自定义然后使用委托方式调用。

首先新建图片类。


  public class Image
  {
   
   
      string Name {
   
    set; get; }   
  }
  

处理图片的方法都放在ImageTools类中,封装成SDK给三方使用,有以下处理方法。

 public class Tools
 {
   
   
     public void ImageFilters(Image image)
     {
   
   
         Console.WriteLine("[SDK]-添加滤镜");
     }

     public void AdjustColor(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值