lifengguo 's Blog

『 逆水行舟用力撑,一篙松劲退千寻!』

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
    public class Class1
    {
        delegate int DeleAdd(int a,int b);    //委托声明
        delegate int DeleRemove();

        public Class1()
        {
        }

        public static void Start()
        {
            Class1 c1=new Class1();

            DeleAdd add=new DeleAdd(c1.Add);   //实例化委托,并指定委托方法
            add+=new DeleAdd(c1.Add1);         //委托梆定另一个方法
           
            DeleRemove remove=null;
            remove+=new DeleRemove(c1.Remove);   //初始化委托的两种方法(1、new 2、+=new)
            remove+=new DeleRemove(c1.Remove1);

            MessageBox.Show(add(10,20).ToString());   //显示 30(在Add1方法中显示的),再次显示30(函数的返回)

            MessageBox.Show(remove().ToString());      //显示“没有相加”、“一样没有相加”、100
        }

        private int Add(int a,int b)
        {
            return a+b;
        }

        private int Add1(int a,int b)
        {
            MessageBox.Show(Convert.ToString(a+b));
            return a+b;
        }
        private int Remove()
        {
            MessageBox.Show("没有相加");
            return 0;
        }

        private int Remove1()
        {
            MessageBox.Show("一样的没有相加");
            return 100;
        }
    }

public class form
{
    Class1.Start();
}


posted on 2007-06-11 13:31  黎锋果(peace)  阅读(235)  评论(0编辑  收藏  举报