zoukankan      html  css  js  c++  java
  • 【c# 学习笔记】委托链的使用

      委托链其实就是委托类型,只是委托链把多个委托链接在一起而已,也就是说,我们把链接了多个方法的委托称为委托链或多路广播委托。如下:

         public delegate void DelegateTest();
    
    
    
            static void Main(string[] args)
            {
                //用静态方法来实例化委托
                DelegateTest dtstatic = new DelegateTest(Program.method1);
    
                DelegateTest dtinstance = new DelegateTest(new Program().method2);
    
                //定义一个委托对象,一开始初始化为null,即不代表任何方法。
                DelegateTest delegatechain = null;
    
                //使用 “+”符号链接委托,链接多个委托后就成为了委托链
    
                delegatechain += dtstatic;
                delegatechain += dtinstance;
    
                //调用委托链
                delegatechain();
                Console.Read();
     
            }
            private static void method1()
            {
                Console.WriteLine("这是静态方法");
            }
    
            //实例方法
    
            private void method2()
            {
                Console.WriteLine("这是实例方法");
            }

    从委托链中移除委托

            public delegate void DelegateTest();
    
    
    
            static void Main(string[] args)
            {
                //用静态方法来实例化委托
                DelegateTest dtstatic = new DelegateTest(Program.method1);
    
                DelegateTest dtinstance = new DelegateTest(new Program().method2);
    
                //定义一个委托对象,一开始初始化为null,即不代表任何方法。
                DelegateTest delegatechain = null;
    
                //使用 “+”符号链接委托,链接多个委托后就成为了委托链
    
                delegatechain += dtstatic;
                delegatechain += dtinstance;
    
                //使用 “-”运算符 移除委托 
                delegatechain -= dtstatic;
                //调用委托链
                delegatechain();
                Console.Read();
     
            }
            private static void method1()
            {
                Console.WriteLine("这是静态方法");
            }
    
            //实例方法
    
            private void method2()
            {
                Console.WriteLine("这是实例方法");
            }
  • 相关阅读:
    Flume下读取kafka数据后再打把数据输出到kafka,利用拦截器解决topic覆盖问题
    idea 党用快捷键
    Idea 调试快捷键
    log4j实时将数据写入到kafka,Demo和相关的配置详解
    windows环境下,kafka常用命令
    ElasticSearch 基本概念
    elasticsearch REST API方式批量插入数据
    自提柜-资产管理柜
    10.智能快递柜(源码下载)
    9.智能快递柜SDK(串口型锁板)
  • 原文地址:https://www.cnblogs.com/xiaoyehack/p/9647727.html
Copyright © 2011-2022 走看看