C# delegate 移除 方法

不多讲 直接上代码!  delegate 的原始 写法 :  (+=, -= )



using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System;

public class DelegateScript : MonoBehaviour {

    delegate void MyDelegate(int num);
    void Start()
    {
        //创建3 个MyDelegate 委托类的实例
        MyDelegate myDelegatel = new MyDelegate(this.PrintNum);
        MyDelegate myDelegate2 = new MyDelegate(this.PrintDoubleNum);
        MyDelegate myDelegate3 = new MyDelegate(this.PrintTripleNum);


        MyDelegate myDelegates = null;
        //使用Delegate 类的静态方法Combine
        myDelegates = (MyDelegate)Delegate.Combine(myDelegates, myDelegatel);
        myDelegates = (MyDelegate)Delegate.Combine(myDelegates, myDelegate2);
        myDelegates = (MyDelegate)Delegate.Combine(myDelegates, myDelegate3);
        //将myDelegates 传入Print 方法
        this.Print(10, myDelegates);



        ///移除方法 
        myDelegates = (MyDelegate)Delegate.Remove(myDelegates, myDelegatel);
        ///移除所有
        myDelegates = (MyDelegate)Delegate.RemoveAll(myDelegates, myDelegatel);

    }

    private void Print(int v, MyDelegate myDelegates)
    {
        
    }

    private void PrintTripleNum(int num)
    {
        
    }

    private void PrintDoubleNum(int num)
    {
        
    }

    private void PrintNum(int num)
    {
         
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

nicepainkiller

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

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

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

打赏作者

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

抵扣说明:

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

余额充值