委托什么时候用(什么时候使用委托)

一、C#语法介绍中

什么是委托?

如果我们要把方法当做参数来传递的话,就要用到委托。

简单的来说委托是一个类型,这个类型可以赋值一个方法的引用。

在C#中使用一个类分两个阶段,首选定义这个类,告诉编译器这个类由什么字段和方法组成的,然后使用这个类实例化对象。

在我们声明委托的时候,也需要经历这两个阶段,首先定义委托,告诉编译器我们这个委托可以指向哪些类型的方法,然后,创建该委托的实例。

定义委托的语法如下:

delegate void intMethodInvoker(int x);

定义了一个委托叫做intMethodInvoker,这个委托可以指向什么类型的方法呢?

这个方法要带有一个int类型的参数,并且方法的返回值是void的。

定义一个委托要定义方法的参数和返回值,使用关键字delegate定义。

定义委托的其它案例:

delegate double TwoLongOp(long first,long second);

delegate string GetAString();


二、程序代码示例

using System;

namespace _073_delegate

{

class Program

{

private delegate string GetAString();

static void Main(string[] args)

{

Console.WriteLine("2022有你在程序才更有意思,委托");

int x = 40;

//使用委托类型创建实例

//Rex指向了x中的ToString方法

GetAString Rex = new GetAString(x.ToString);

//通过委托实例去调用x中的ToString方法

string NewRex = Rex();

//通过委托类型是调用一个方法,跟直接调用这个方法作用是一样的

Console.WriteLine(NewRex);

Console.ReadKey();


}

}

}

三、程序执行结果