private Delegate ResolveHandler(string name, Delegate nullifiedHandler) { var nameAndHandler = new NameAndHandler(name, nullifiedHandler); if(handlersCache.ContainsKey(nameAndHandler)) { return handlersCache[nameAndHandler]; } var target = machine[name]; var result = Delegate.CreateDelegate(nullifiedHandler.GetType(), target, nullifiedHandler.Method); handlersCache.Add(nameAndHandler, result); return result; }
private Delegate ResolveHandler(string name, Delegate nullifiedHandler) { var nameAndHandler = new NameAndHandler(name, nullifiedHandler); if (handlersCache.ContainsKey(nameAndHandler)) { return(handlersCache[nameAndHandler]); } var target = machine[name]; var result = Delegate.CreateDelegate(nullifiedHandler.GetType(), target, nullifiedHandler.Method); handlersCache.Add(nameAndHandler, result); return(result); }