private static Dictionary EvnDic = new Dictionary(); //保存所有函数方法的字典
public static List CommandTypeList = new List();//注册监听____________________________________
public static void Listen(CommandType command, CallFunction call) //通过传递参数枚举 和方法 进行绑定到EvnDic字典中
{if (!CommandTypeList.Contains(command)) //如果不包含就添加进去
{
CommandTypeList.Add(command);
EvnDic.Add(command, call);
}else //如果包含1.判断是否是null 2.不是null则进行绑定(+=)
{if (EvnDic[command] == null)
{
Consoles.WriteError("Delegate对象异常为NULL Key:" +command);return;
}
EvnDic[command]= (CallFunction)EvnDic[command] +call;
}
}public static void Listen(CommandType command, CallFunctioncall)
{if (!CommandTypeList.Contains(command))
{
CommandTypeList.Add(command);
EvnDic.Add(command, call);
}else{if (EvnDic[command] == null || EvnDic[command].GetType() !=call.GetType())
{
Consoles.WriteError("Delegate对象异常为NULL Key:" +command);return;
}
EvnDic[command]= (CallFunction)EvnDic[command] +call;
}
}public static void Listen(CommandType command, CallFunctioncall)
{if (!CommandTypeList.Contains(command))
{
CommandTypeList.Add(command);
EvnDic.Add(command, call);
}else{if (EvnDic[command] == null || EvnDic[command].GetType() !=call.GetType())
{
Consoles.WriteError("Delegate对象异常为NULL Key:" +command);return;
}
EvnDic[command]= (CallFunction)EvnDic[command] +call;
}
}public static void Listen(CommandType command, CallFunctioncall)
{if (!CommandTypeList.Contains(command))