委托:如果我们要把方法当做参数来传递的话,就要用到委托。简单来说 委托
是一个类型,这个类型可以赋值一个方法的引用。
对于委托类型可以赋值一个方法的引用 ,可以把一个方法赋值过来,通过这个委托变量调用这个方法
声明委托:
在C#中使用一个类分两个阶段,
首选定义这个类,告诉编译器这个类由什么字段和方法组成的,然后使用这个类实例化对象。在我们使用委托的时候,也需要经过这两个阶段,
首先定义委托,告诉编译器我们这个委托可以指向哪些类型的方法,然后,创建该委托的实例。
private delegate string GetAString();
static void Main()
{
int x = 40;
GetAString firstStringMethod = new GetAString(x.ToString);
Console.WriteLine(firstStringMethod());
}
委托的赋值:
GetAString firstStringMethod = x.ToString;也可以把方法名直接给委托的实例
using System;
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 委托
{ class Program
{
delegate string Text();//声明一个委托
static void Main(string[] args)
int age = 27;
//string s = age.ToString();//转换为string类型
// Text t = new Text(age.ToString);//t指向的就是tostring()这个方法
//string s = t();//通过委托实例去调用方法
// string s = t.Invoke();
Text t = age.ToString;//把方法赋值给委托类型的变量
//string s = t();
string s = t.Invoke();
Console.WriteLine(s);
Console.ReadKey();
}
}
}