public void Dispose() { Dispose(true); }
private void RemoveHookEventHandler(HookType type, Delegate value) { BaseHook key = GetHookObjectForType(type); Events.RemoveHandler(key, value); if (Events[key] == null) { key.Dispose(); } hooks.Remove(key); }