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() { } }

浙公网安备 33010602011771号