委托

你有没有想过像调用变量一样调用函数,把函数当做变量一样传递。

定义委托

delegate
int
delagateF(int a, int b);

仔细看一下上面的定义,会发现这很像一个函数。

下面演示一下委托的简单的应用。

using System;

 
 

namespace ConsoleApplication3

{

class
Program

{

delegate
int
delegateF(int a, int b);

static
void Main(string[] args)

{

delegateF f = new
delegateF(Add);

int sum = f(1,2);

Console.WriteLine(sum);

}

 
 

static
int Add(int a,int b)

{

return a + b;

}

}

}

下面的例子演示函数作为变量传递

using System;

 
 

namespace ConsoleApplication3

{

class
Program

{

delegate
int
delegateF(int a, int b);

static
void Main(string[] args)

{

delegateF f = new
delegateF(Add);

Wsum(f,1,2);

Wsum(Add,1,2);

}

 
 

static
int Add(int a,int b)

{

return a + b;

}

 
 

static
void Wsum(delegateF f,int a,int b)

{

int sum = f(a,b);

Console.WriteLine(sum);

}

}

}

2021年11月5日

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注