A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 罗代势 中级黑马   /  2012-12-16 16:17  /  1171 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

    class Program
    {
        static void Main(string[] args)
        {
            Test test = new Test();  //实例一个Test类的test对象
            string s = "调用委托";   //定义一个字符串
            DeShow ds = new DeShow(test.Show); //实例一个委托ds对象
            ds += Show1;                       //使用运算符"+="添加Show1方法到委托对象中
            ds(s);                             //调用委托
            MethodShow(test.Show);            //调用包含委托为参数的方法,并且把test.Show方法传入
            Console.ReadKey();
            /*结果:
             调用委托
             字符串的长度:4
             显示一个普通方法!
             ----------------------------------
             字符串的长度:34
             -----------委托作为参数-----------
             字符串的长度:28
             ----------------------------------
             字符串的长度:34
                                             */
        }
        /// <summary>
        /// 定义一个包含委托为参数的方法
        /// </summary>
        static void MethodShow(DeShow deShow)    //传入字符串的方法,且委托作为参数
        {
            deShow("----------------------------------");
            deShow("-----------委托作为参数-----------");
            deShow("----------------------------------");
        }
        static void Show1(string str1)
        {
            Console.WriteLine("显示一个普通方法!");
        }
    }
    public class Test
    {
        public void Show(string Msg)   //显示方法
        {
            Console.WriteLine(Msg);
            Console.WriteLine("字符串的长度:{0}",Msg.Length);
        }
    }
    public delegate void DeShow(string str); //定义一个委托类

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马