C# 委托:概念、应用与实践
1. 委托概述
委托是一种特殊类型的对象。与之前定义的包含数据的对象不同,委托仅包含方法的详细信息。可以将委托理解为给方法签名命名的一种方式。
1.1 委托的定义与实例化
在 C# 中使用委托,和使用类一样,分为两个阶段:
1. 定义委托 :告知编译器该类型的委托将代表何种方法。定义委托的语法类似于方法定义,但没有方法体,且以 delegate
关键字开头。例如:
delegate void VoidOperation(uint x);
此代码定义了一个名为 VoidOperation
的委托,该委托的每个实例可持有一个接受一个 uint
类型参数且返回 void
的方法的引用。
2. 创建委托实例 :定义委托后,可创建其实例以存储特定方法的详细信息。例如:
private delegate string GetAString();
static void Main(string[] args)
{
int x = 40;
GetAString firstStringMethod = new GetAString(x.ToString);
Console.WriteLine("String is " + firs