zoukankan      html  css  js  c++  java
  • 委托,委托链学习

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace DelegateTest
    {
    
        delegate void  myDelegateHandle(string s);
        class Program
        {
            static void Main(string[] args)
            {
                myDelegateHandle mydel = new myDelegateHandle(A.Print);
                myDelegateHandle mydelb = new myDelegateHandle(B.Print);
    
                try
                {
                    mydel += mydelb;
                    mydel("aaaaa");
    
                    mydel -= mydelb;
    
    
                    mydel("uuuuuuuuu");
    
                    mydel -= mydel;
    
                    mydel("tttt");
    
                    Console.Read();
                }
                catch (NullReferenceException nullEx)
                {
                    Console.WriteLine("Null"+nullEx.Message);
    
    
                }
                finally
                {
    
                    Console.Read();
                
                }
            }
        }
    
        class A
        {
            public  static void Print(string msg)
            {
    
                Console.WriteLine(msg);
            }
            
        }
    
        class B
        {
            public  static void Print(string msg)
            {
    
                Console.WriteLine("2222222222222");
            }
        }
    
    }
    

    声明委托(定义好返回类型、要传递的参数,这是要与指向的函数相一致的)

    实例化委托,传递要指向的函数名,此时不加“()”;

    直接传递给委托和与已经定义好参数类型一致的参数。

  • 相关阅读:
    项目计划进度控制与资源管理
    读大道至简所思
    Java自学第三十二天
    Java自学第三十一天
    Java自学第三十天
    Java自学第二十九天
    Java自学第二十八天
    Java自学第二十七天
    Java自学第二十六天
    Java自学第二十五天
  • 原文地址:https://www.cnblogs.com/hbhzz/p/3198325.html
Copyright © 2011-2022 走看看