用户自定义方法执行

 class Program
    {
        static void Main(string[] args)
        {
            string s = "zzq2";
            string temp = string.Empty;
            Matcher.matcher
                .On("zzq1", x => temp = x)
                .On("zzq2", x => temp = x + "123")
                .Excute(s);
            Console.WriteLine(temp);
            Console.Read();
        }
    }
    public class Matcher
    {
        public static Matcher matcher { get { return new Matcher(); } }
        private static Dictionary<string, Action<string>> dic = new Dictionary<string, Action<string>>();
        public Matcher On(string str, Action<string> action)
        {
            dic.Add(str, action);
            return this;
        }
        public void Excute(string str)
        {
            var sourceDic = dic.Where(x => x.Key.Contains(str)).FirstOrDefault();
            sourceDic.Value(str);
        }
    }

  

原文地址:https://www.cnblogs.com/since87/p/3550183.html