zoukankan      html  css  js  c++  java
  • 委托(delegate)

        委托的是含义,如果你学过C那么你可以把委托理解为C里面的函数指针,如果你没学过其他的语言,你可以理解为自定义类型.
        声明委托要使用关键字delegate,代码如下
    delegate void ShowName()
    学过C的:上面相当于声明了一个类型为ShowName的指针,由于C里面的指针指向的是内存中的一个实际地址,具有一定的不安全型,C#在这里做了相应的改进,必须指向具有相同签名的函数.
    直接开始C#学习读者:上面就相当于定义了一个Showname类型的自定义类型,跟系统定义的int,double类型差不多.

        类型定义完了接着就是声明这种类型的变量了,和声明int,double等类型的变量差不多.
    ShowName sn1;
    ShowName sn2;

        接下来就是给变量赋值,这里的赋值就把和定义时相同签名的函数(或者叫方法)传给上面定义的变量.赋值一共有三种语法格式.
    //第一种
    sn1 = new ShowName(MyName);
    //第二种
    sn1 = MyName;
    //第三种
    sn1 = delegate(){//}

        下面我给出一个完整的代码
    using System;
    using System.Collections;

    //定义委托类型
    delegate void ShowInfo();
    class  Info
    {
        
    public void MyName()
        
    {
            Console.Write(
    "Name:林.Net  ");
        }

        
    public void MyAge()
        
    {
            Console.Write(
    "Age:28");
        }

    }


    public class Client
    {
      
    public static void Main( string[] args )
      
    {
            Info info 
    = new Info();
            ShowInfo si ;
    //声明委托变量
            si = info.MyName;
            si 
    += info.MyAge;
            si();
      }

    }
     
  • 相关阅读:
    PHP四种基础算法详解
    Webuploader教程(一)------简单实用上传功能
    macOS Sierra上面的php开发环境安装
    mac lamp环境 apache文件配置
    mysql 通过拷贝data文件夹进行恢复。
    mysql 执行 cannot found mac安装mysql的两种方法(含配置)
    mac 终端里进入mysql和退出
    macOS Sierra安装Apache2.4+PHP7.0+MySQL5.7.16
    Javascript基础知识
    2016年6月份基础学习要求
  • 原文地址:https://www.cnblogs.com/answercard/p/1383543.html
Copyright © 2011-2022 走看看