• 委托


    委托:声明的关键字delegate

    就是代理,事件也是委托,但是是一种特殊的委托;
    1、声明委托类型:

    2、委托变量的定义及赋值:

    3、委托变量的使用:

    例:

    创建一个项目,写一个委托,添加一个类,类的构造和委托相同

    类:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace 委托
    {
        class jiafa //添加一个类,里面使用方法和委托结构相同
        {
            public int jia(int a, int b)//两个参数一个返回值
            {
                return a + b;
            }
    
            public int jian(int a, int b)
            {
                return a - b;
            }
        }
    }

    项目:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace 委托
    {
        public delegate int FirstDel(int a, int b);//在Program类上面,命名空间下面写一个委托,声明一下
                                                   //委托类型,注意关键字delegate,添加一个类
        class Program                              
        {
            static void Main(string[] args)
            {
                //委托不是一个类,没有构造函数,不能进行实例化使用,需要使用一个委托变量赋值一个使用方法,
                //这里给他赋值添加的类,正常写法一般先实例化一下类
                jiafa ff = new jiafa();
                //然后再定义一个委托变量去接收这个类里面的使用方法
                FirstDel fo = ff.jia;//这个类直接点出使用方法,不需要加括号,传参数
                //因为这个方法赋值给了委托变量,直接用委托变量调用里面的方法
                int d = fo(5, 4);//给方法传进两个参数,定义一个变量接收一下返回值
                Console.WriteLine(d);//打印一下接收到的返回值
    
    
                //为了程序的便捷性,可以这样写
                FirstDel f1 = new jiafa().jia;
    
                int c = f1(5, 4);//根据类里面写的方法给他两个参数,定义变量接收一下返回值
    
                Console.WriteLine(c);//打印这个变量接收到的返回值
    
                FirstDel f2 = new jiafa().jian;
    
                c = f2(5, 4);//变量c已经定义过数据类型,直接接收返回值
                Console.WriteLine(c);//打印接收到的返回值
    
                c = f1(5, 4) + f2(5, 4);//也可以将这两个方法的返回值进行数学运算,用c接收
    
                Console.WriteLine(c);//打印变量c接收到的运算结果
    
                Console.ReadKey();
            }
        }
    }
  • 相关阅读:
    PostMan使用教程(1)
    测试工作量的评估方法
    Jmeter之Bean shell使用(二)
    centos7 编译安装redis
    Centos7 安装mariadb
    Centos7 安装使用virtualenvwrapper
    Centos7安装python3.6
    linux基础命令2
    linux基础命令
    linux目录结构
  • 原文地址:https://www.cnblogs.com/zyg316/p/5602260.html
Copyright © 2020-2023  润新知