在 C# 语言中命名方法委托是最常用的一种委托,其定义的语法形式如下。
从上面的定义可以看出,委托的定义与方法的定义是相似的。例如定义一个不带参数的委托,代码如 下。
在定义好委托后就到了实例化委托的步骤,命名方法委托在实例化委托时必须带入方法的具体名称。实例化委托的语法形式如下。
委托中传递的方法名既可以是静态方法的名称,也可以是实例方法的名称。 需要注意的是,在委托中所写的方法名必须与委托定义时的返回值类型和参数列表相同。 在实例化委托后即可调用委托,语法形式如下。
在这里,参数列表中传递的参数与委托定义的参数列表相同即可。 下面分别通过两个实例来演示在委托中应用静态方法和实例方法的形式。 【实例 1】创建委托,在委托中传入静态方法于控制台输出“Hello Delegate!”。 根据题目要求,代码如下。
执行上面的代码,效果如下图所示。
若使用静态方法,在向委托中传递方法名时只需要用“类名.方法名”的形式。 【实例 2】将实例 1 中的静态方法改成实例方法。 根据题目要求,代码如下。
执行上面的代码,效果与实例 1 中效果一致。 由于在委托中使用的是实例方法,则需要通过类的实例来调用方法,即使用“new 类名 (). 方法名”的 形式。 除了使用匿名对象的方式调用方法以外,也可以先创建类的实例,再通过类的实例调用方法。 在了解了命名方法委托的写法以后,下面通过一个综合实例来演示命名委托的应用。