什么是高质量的代码--整理的网上博文

    enum Week{
        Monday,
        Tuesday,
        Wednesday,
        Thursday,
        Friday,
        Saturday,
        Sunday,
    };
    //根据枚举值获得中文星期几 (表驱动法编程--可以把表驱动简单理解为查字典。如果用switch-case就要写很多代码!)
    static string GetWeek(Week wk)
    {
        string[] cWeek={"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};
        return cWeek[(int)wk];
    }

    /*需求升级:输出成“星期一Mike打扫卫生、星期二Rose清理衣柜...”,则用表驱动法加上反射*/
    class Program
    {
        static void Main(string[] args)
        {
            SampleClass sample=new SampleClass();
            var addMethod = typeof (SampleClass).GetMethod(ActionInTable(Week.Monday));
            addMethod.Invoke(sample, null);
        }
        static string ActionInTable(Week week)
        {
            string[] methods = { "Cleaning", "CleanCloset", "Quarrel", "Shopping", "Temp", "Temp", "Temp" };
            return methods[(int)week];
        }

    }

    class SampleClass
    {
        public void Cleaning()
        {
            Console.WriteLine("打扫");
        }
        public void CleanCloset()
        {
            Console.WriteLine("整理衣橱");
        }
        public void Quarrel()
        {
            Console.WriteLine("吵架");
        }
        public void Shopping()
        {
            Console.WriteLine("购物");
        }
        public void Temp()
        {
            Console.WriteLine("临时安排");
        }
    }

猜你喜欢

转载自blog.csdn.net/zhexiaode/article/details/80363629