我想做以下事情:
private static Dictionary<string, Delegate> handlers = new Dictionary<string, Delegate>();
private static void RecievedMessage(object sender, RecievedMessageEventArgs e) {
if(e == null || e.Message == null) return;
if(e.Message is RegisterMethodMessage) {
var registerMethodMsg = (RegisterMethodMessage)e.Message;
if(handlers.ContainsKey(registerMethodMsg.MethodName)) {
handlers[registerMethodMsg.MethodName] += registerMethodMsg.Handler; //Error
} else {
handlers.Add(registerMethodMsg.MethodName, registerMethodMsg.Handler);
}
}
}
在字典中使用相同键添加到链中的委托将具有相同的方法签名。
如果我将“委托”替换为特定的操作,例如操作,上面的代码就可以工作。
所以我的问题是:
是否可以在没有替换且没有大量“黑客攻击”的情况下做同样的事情?