最简单的委托

委托:把方法作为方法的参数。

字面意思,委托=方法1(方法2);//方法2是参数

由以上可见方法2是参数,既然是参数那么就应该可变了,所以可以这么说委托=方法1(方法2),委托=方法1(方法3),委托=方法1(方法4)。。。。

一个简单的方法如下

string result(string str)//str参数,类型string

{

......

}

这个方法只能接收string 类型的变量,如“1”,“2”,“three”,其余的不行。

所以委托=方法1(方法n),这个方法n所能接收的参数方法应该是固定模式的(方法自己的参数类型,参数个数,返回类型,作用域,能否实例化)。

方法n把自己委托给了方法1,那么方法1就要不辜负方法n,方法n能返回什么类型,方法n参数什么样,方法1需要认可。

 

只要以上的读完了,那么最简单的委托就很容易明白了。

 class Program
    {
        static void Main(string[] args)
        {
            Program p = new Program();
            resultDeletege result = new resultDeletege(p.reduction);//委托实际是一种类型
            Console.WriteLine(result(3, 5)); //赋值
            Console.Read();
        }

        private delegate int resultDeletege(int a, int b);//定义委托,注意委托的返回类型和参数列表。(方法1)

        private int add(int a, int b)   //(方法2)
        {
            return a + b;
        }

        private int reduction(int a, int b)//(方法3)
        {
            return a - b;
        }
    }

posted @ 2012-07-22 17:01  hometown  阅读(158)  评论(0)    收藏  举报