• C#委托


    C#委托
    一:委托的实质:
    委托可以理解为是函数的一个包装,他可以上c#里面的函数当做参数来传递,相当于C++里面的函数指针,C++通过函数指针来获取函数的入口地址,然后通过指针去操作函数。
    委托的实质是一个类。
    二:委托的使用
    委托的定义就是在函数前面添加一个delegate关键字。
    public delegate void MyDelegate(type argv1,type argv2,..)
    委托和被委托的方法必须一样的地方
    1.返回值必须相同
    2.参数的个数,类型和顺序必须相同

    using System;
    using System.Collections.Generic;
    
    namespace MyDelegate
    {
        internal class Program
        {
            public delegate void delegateGreeting(string name); //定义委托变量
    
            public static void Main(string[] args)
            {
                delegateGreeting d = new Program().AmricamanGreeting; //声明委托变量并且实例化委托
                new Program().Greeting("mojinyang", d); //作为参数传递委托
    
                Console.WriteLine("-------------------------");
                delegateGreeting d1 = null;
                //可以使用+=和-=来形成一个委托链
                d1 += new Program().AmricamanGreeting;
                d1 += new Program().ChineseGreeting;
                new Program().Greeting("mojinyang", d1);
            }
    
            public void Greeting(string name, delegateGreeting callback)
            {
                callback(name); //调用委托
            }
    
            public void AmricamanGreeting(string name)
            {
                Console.WriteLine("Hello " + name);
            }
    
            public void ChineseGreeting(string name)
            {
                Console.WriteLine("你好, " + name);
            }
        }
    }

    使用委托的顺序是:定义委托类型->声明委托变量->实例化委托->作为参数传递给方法->调用委托

  • 相关阅读:
    Tp控制器
    thinkphp总体设计
    视频会议管理系统操作步骤(新)
    视频会议(旧)
    HCIE实验LAB_1(1)
    HCIE实验LAB_1(2)
    HCIE实验LAB_1(3)
    HCIE实验LAB_1(4)
    HCIE实验LAB_1(5)
    HCIE实验LAB_1(6)
  • 原文地址:https://www.cnblogs.com/kanekiken/p/7560958.html
Copyright © 2020-2023  润新知