之前写过一个c#版本的使用字典去解决switch问题 http://www.cnblogs.com/sanyejun/p/7806210.html
现在用写lua版本的
function Main() local myTable = {} --绑定 myTable["555"] = function() TestMy() end --调用 myTable["555"](); end function TestMy() -- body print("牛逼") end
-----------------------------------------传递参数版本----------------------------------
function Main() local myTable = {} --绑定 myTable["555"] = function(num) TestMy(num) end --调用 myTable["555"]("99"); end function TestMy(num) -- body print("牛逼"..num) end
======================c#版本==============================
class Program { //事件字典 static Dictionary<int, Action> eventDic = new Dictionary<int, Action>(); static void Main(string[] args) { eventDic[1] = delegate () { Mediator(); }; eventDic[1](); Console.ReadLine(); } private static void Mediator() { Console.WriteLine("哈哈哈"); } }
-----------------------------带参数版本----------------------------------
class Program { //事件字典 static Dictionary<int, Action<int>> eventDic = new Dictionary<int, Action<int>>(); static void Main(string[] args) { eventDic[1] = delegate (int a) { Mediator(a); }; eventDic[1](99); Console.ReadLine(); } private static void Mediator(int a) { Console.WriteLine("哈哈哈" + a); } }