委托的本质
实际上,“定义一个委托”是指“定义一个新类”,所以可以在定义类的任何地方定义委托,既可以在另一个类的内部定义,也可以在任何类的外部定义,还可以在命名空间中把委托定义为顶层对象。见下面一个简单的例子,
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();
}
}
}
浙公网安备 33010602011771号