委托的一个最简单的例子

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace demotest
{
    class Program
    {
        public delegate double myDelegate(long length);
        static void Main(string[] args)
        {
            long length1 = 10;
            long length2 = 15;

            myDelegate mydelegate1=new myDelegate(Measure.Square);
            myDelegate mydelegate2 = new myDelegate(Measure.Circle);

            Console.WriteLine("边长为{0}的正方形面积为:{1}",length1,mydelegate1(length1).ToString());
            Console.WriteLine("半径为{0}的圆形面积为:{1}", length2, mydelegate2(length2).ToString());

            Console.ReadLine();
        }
    }

    public class Measure
    {
        public static double Square(long length)
        {
            double area = Math.Pow(length, 2);
            return area;
        }

        public static double Circle(long length)
        {
            double area = (4/3)*Math.PI*Math.Pow(length, 3);
            return area;
        }
    }
}

一、首先使用关键字delegate申明一个委托,返回值和参数都要和方法一致。

二、尝试使用委托类引用方法。

三、委托类调用(?)方法。

posted @ 2013-10-09 18:39  H2C#  阅读(265)  评论(0)    收藏  举报
常德市一建房地产开发有限公司