首页 > Windows开发 > 详细

委托--------------------------------c#

时间:2015-11-02 00:02:26      阅读:333      评论:0      收藏:0      [点我收藏+]

1.先来一个简单的委托写法,为的是访问一个类中的私有成员。。。。稍微拓展一下,也可以变成回调方法的内部代码。

  class Program
    {
        static void Main(string[] args)
        {
            //调用委托,访问私有成员
            Methods m = new Methods();
            m.f("你好");
        }
    }

    //定义一个简单的委托类型
    public delegate bool Feedback(string s);

    class Methods
    {
        //初始化一个委托
        public Feedback f;
        public Methods()
        {
            //用委托包装改方法
            f = new Feedback(writepaper);
        }

        //这个方法是私有的
        private bool writepaper(string s)
        {
            Console.Write(s);
             return true;
        }

    }

 2.回调方法

 //定义一个简单的委托类型
    public delegate bool Feedback(string s);
    class Program
    {
        //这就是回调
        Feedback callback;
        static void Main(string[] args)
        {
            Program p = new Program();
            //定义回调的方法,调用的是method中的writepaper方法
            p.callback = new Feedback(Methods.writepaper);
            //这相当于系统的invoke
            p.involke(1,p.callback);
            Console.ReadKey();
        }

        //用这个名字定义方法,看起来更熟悉
        //它可以类比与系统的invoke方法
        public void involke(int i ,Feedback fb)
        {
            Console.WriteLine(i.ToString());
            fb((i+3).ToString());
        }
    }

    class Methods
    {  
        public static bool writepaper(string s)
        {
            Console.Write(s);
             return true;
        }

    }

 

委托--------------------------------c#

原文:http://www.cnblogs.com/xiaoleye/p/4928902.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!