RanceQuest1000000_KillSwitch_吸取教训从大基数起步_其实主题是反射、委托、表达式树、动态编程是一家;P

最近很忙,忙到非常!

五一节前一天就有这个想法了,五一节3天也一直在翻以前搜集的资料。还好今晚难得不用加班,所以花点时间吧这个KillSwitch类实现。

    public class TestExample
    {
        private KillSwitch kill;
        public TestExample()
        {
            kill = new KillSwitch(typeof(TestFootman),"Func");
        }
        public void TryAction(string key)
        {
            kill.TryAction(key);
        }
    }

使用非常方便,只要new之,TryAction之即可。

效率如下:

虽然同期直接switch为15ms左右相差5倍以上,但我要说的是以上为【1百万】次【空】方法不到【100】ms。

况且连手机都要4核啦!

PS:具体感想等有空再补充吧。公司叫我写多维度的不定维度的交叉报表——啊啊马的我才是个初学者啊啊啊啊!

PS2:写了2个星期了,最近在催我快点把功能集成到公司的JS框架当中,JS不报错好讨厌80%的时间都浪费在上面啊啊啊

PS3:想起来了,照例补上听说读写。我以前的收藏就是来自那种广告垃圾网站上的盗版,后来一猜,本尊多半在博客园。O(∩_∩)O哈哈~

PS4:又想了一下,其实采用内部类,还有取消从类检索该类自己可以。如下

   public class TestExample2
    {
        private KillSwitch kill;
        public TestExample2()
        {
            kill = new KillSwitch(typeof(TestFootman2), "Func");
        }
        public void TryAction(string key)
        {
            kill.TryAction(key);
        }
        private class TestFootman2
        {
            public static void FuncOne() { }
            public static void FuncTwo() { }
            public static void FuncThree() { }
        }
    }
    public class TestExample3
    {
        private KillSwitch kill;
        public TestExample3()
        {
            kill = new KillSwitch(typeof(TestExample3), "Func");
        }
        public void TryAction(string key)
        {
            kill.TryAction(key);
        }

        public static void FuncOne() { }
        public static void FuncTwo() { }
        public static void FuncThree() { }

    }

 

posted @ 2012-05-03 22:57  TODO  阅读(200)  评论(0)    收藏  举报