声明委托要使用关键字delegate,代码如下
delegate void ShowName()直接开始C#学习读者:上面就相当于定义了一个Showname类型的自定义类型,跟系统定义的int,double类型差不多.
类型定义完了接着就是声明这种类型的变量了,和声明int,double等类型的变量差不多.
ShowName sn1;
ShowName sn2;接下来就是给变量赋值,这里的赋值就把和定义时相同签名的函数(或者叫方法)传给上面定义的变量.赋值一共有三种语法格式.
//第一种
sn1 = new ShowName(MyName);
//第二种
sn1 = MyName;
//第三种
sn1 = delegate(){//}
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();
}
}
