首页 > 其他 > 详细

委托案例1 可变的抽离出来

时间:2015-01-13 01:20:02      阅读:334      评论:0      收藏:0      [点我收藏+]
namespace ChangeStringLib //公共类
{
    public class Class1
    {
        //public void ChangeString(string[] str)
        //{
        //    for (int i = 0; i < str.Length; i++)
        //    {
        //        str[i] = str[i].ToUpper();
        //    }
        //}

        //公共的方法
        public void ChangeString(string[] str, ChgStrDelegate chgStr)
        {
            for (int i = 0; i < str.Length; i++)
            {
                //委托,只是把方法中变的地方提取出来,便于写出通用的代码
                str[i] = chgStr(str[i]);
            }
        }
    }
}

 委托类

namespace ChangeStringLib
{
    public delegate string ChgStrDelegate(string str);

}

 

 

调用项

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            ChangeStringLib.Class1 c1 = new ChangeStringLib.Class1();
            string[] name = { "Bob", "Chris", "James", "Steve", "Jhoney" };
            //把字符串都变成大写
            //c1.ChangeString(name,ChangeStringToUpper);
            c1.ChangeString(name, ChangeChangeAddWjx);


            foreach (var item in name)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("ok");

        }
        static string ChangeChangeAddWjx(string msg)
        {
            return "★" + msg + "★";
        }

        static string ChangeStringToUpper(string msg)
        {
            return msg.ToUpper();
        }
    }
}

 

委托案例1 可变的抽离出来

原文:http://www.cnblogs.com/KevinDai/p/4220204.html

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