1、详解C#中的委托委托是一种新的对象类型,它可以定义一个签名,并且它只能持有与它的签名相匹配的方法引用。所有委托类型对象都有方法调用列表,方法调用列表所链接的方法可以是静态方法,也可以是实例方法。对于静态方法,列表中只对应一个方法;对于实例方法,列表中所对应的是一个实例方法和其所属的实例。委托的实现过程如下代码所示:using System;using System.Collections.Generic;using System.Text;namespace NET{ public class
4、 string InputMethod = Console.ReadLine().ToUpper(); switch(InputMethod) { // 如果用户输入为A或者a,则创建MyDel委托对象,其引用变量为md,指向formatA方法 case "A": md = new MyDel(formatA);
5、break; case "B": md = new MyDel(formatB); break; case "C": md = new MyDel(Another.formatC); break; case "D": Anot
6、her ano = new Another(); md = new MyDel(ano.formatD); break; default: md = new MyDel(formatA); break; } string result = md(ValueA,Va
7、lueB);//因为md指向formatA方法,将ValueA,ValueB传向formatA方法,结果存储到result里面。 Console.WriteLine("以下为委托执行的结果"); Console.WriteLine(result); Console.ReadLine(); } static string formatA(string a, s
8、tring b) { string words = "I am the first static mehtod.My name is: " + a + "My password is: " + b; words += "我是第一个静态方法。我的名字是:" + a + "我的密码是:" + b; return words; }