其他的定义方法
private delegate string GetString();//该委托可以指向一个参数为空,返回值为string的方法。
static void main()
{
int x = 40;
GetString a = x. ToString; //直接把一个方法的引用赋值给一个委托变量
}
其他调用方法
private delegate string GetString();//该委托可以指向一个参数为空,返回值为string的方法。
static void main()
{
int x = 40;
GetString a = x. ToString; //直接把一个方法的引用赋值给一个委托变量
string s = a.Invoke(); //通过Invoke方法调用a所引用的方法
}
作为参数传递
委托类型可以作为一个方法的参数进行传递。
private delegate void PrintString();
static void PrintStr(PrintString print) //委托类型作为一个参数来进行传递
{
print();
}
static void Method1()
{
Console.WriteLine("Method1");
}
static void Method2()
{
Console.WriteLine("Method2");
}
static void main()
{
PrintString method = method1; //method实质上是一个委托类型的变量
PrintStr(method);
//输出为"method1"
method = method2;
PrintStr(method);
//输出为"method2"
}