委托的本质
实际上,“定义一个委托”是指“定义一个新类”,所以可以在定义类的任何地方定义委托,既可以在另一个类的内部定义,也可以在任何类的外部定义,还可以在命名空间中把委托定义为顶层对象。见下面一个简单的例子,
namespace ConsoleApplication1 { class Program { delegate double processdelegete(double val1, double val2); static double mult(double val1, double val2) { return val1 * val2; } static double divi(double val1, double val2) { return val1 / val2; } static void Main(string[] args) { processdelegete process; //这里processdelegete被当作一个类型来使用,这里因为定义委托实质定义了一个类 process = new processdelegete(mult); double num1=10; double num2=50; Console.WriteLine(process(num1,num2)); Console.ReadLine(); } } }