委托的本质

      实际上,“定义一个委托”是指“定义一个新类”,所以可以在定义类的任何地方定义委托,既可以在另一个类的内部定义,也可以在任何类的外部定义,还可以在命名空间中把委托定义为顶层对象。见下面一个简单的例子,

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();
        }
    }
}
posted @ 2010-05-13 23:59  涂墨留香  阅读(881)  评论(1编辑  收藏  举报