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();
      }

    }
     
  • 相关阅读:
    怎样才能充分利用SQL索引
    MS SQL存储过程编写经验和优化措施
    ASP調用存講過程總結
    調用外部的DLL(DllImportAttribute)
    MS SQL中的行轉列
    SQL Server乐观锁定和悲观锁定实例
    如何使用 JScript 從 HTML 網頁自動化 Excel
    了解SQL Server锁争用:NOLOCK 和 ROWLOCK 的秘密
    C#語法學習結構(Struct)
    四项技术 助你提高SQL Server的性能
  • 原文地址:https://www.cnblogs.com/answercard/p/1383543.html
Copyright © 2011-2022 走看看