private ReflectedEvent(EventDispatcher dispatch, WeakHash <object, EventDispatcher> dispatchers, object instance, bool clsOnly) { this.dispatcher = dispatch; this.instance = instance; this.clsOnly = clsOnly; this.dispatchers = dispatchers; }
private EventDispatcher GetDispatcher(object instance) { if (dispatchers == null) { dispatchers = new WeakHash <object, EventDispatcher>(); } if (instance == null) { // targetting a static method, we'll use a random object // as our place holder here... instance = staticTarget; } EventDispatcher res; if (dispatchers.TryGetValue(instance, out res)) { return(res); } return(dispatchers[instance] = new EventDispatcher(dispatcher.Info)); }