public override bool Equals(object obj) { RoutedEventKey other = obj as RoutedEventKey; return(Object.ReferenceEquals(this, other) || !Object.ReferenceEquals(other, null) && Object.Equals(this.Owner, other.Owner) && Object.Equals(this.Name, other.Name)); }
public static void AddOwner(RoutedEvent routedEvent, Type ownerType) { RoutedEventKey key = new RoutedEventKey(ownerType, routedEvent.Name); if (registeredRoutedEvents.ContainsKey(key)) { throw new Granular.Exception("Type \"{0}\" is already an owner of RoutedEvent \"{1}\"", key.Owner.Name, routedEvent); } registeredRoutedEvents.Add(key, routedEvent); }
public static RoutedEvent RegisterRoutedEvent(string name, RoutingStrategy routingStrategy, Type handlerType, Type ownerType) { RoutedEventKey key = new RoutedEventKey(ownerType, name); if (registeredRoutedEvents.ContainsKey(key)) { throw new Granular.Exception("RoutedEvent {0}.{1} is already registered", ownerType.Name, name); } RoutedEvent routedEvent = new RoutedEvent(name, routingStrategy, handlerType, ownerType); registeredRoutedEvents.Add(key, routedEvent); return(routedEvent); }
public static RoutedEvent RegisterRoutedEvent(string name, RoutingStrategy routingStrategy, Type handlerType, Type ownerType) { if (string.IsNullOrEmpty(name)) throw new ArgumentException("name"); if (null == handlerType) throw new ArgumentNullException("handlerType"); if (null == ownerType) throw new ArgumentNullException("ownerType"); // RoutedEventKey key = new RoutedEventKey(name, ownerType); if (routedEvents.ContainsKey(key)) { throw new InvalidOperationException("This routed event is already registered."); } RoutedEvent routedEvent = new RoutedEvent(handlerType, name, ownerType, routingStrategy); RoutedEventInfo routedEventInfo = new RoutedEventInfo(routedEvent); routedEvents.Add(key, routedEventInfo); return routedEvent; }
public static RoutedEvent RegisterRoutedEvent(string name, RoutingStrategy routingStrategy, Type handlerType, Type ownerType) { RoutedEventKey key = new RoutedEventKey(ownerType, name); if (registeredRoutedEvents.ContainsKey(key)) { throw new Granular.Exception("RoutedEvent {0}.{1} is already registered", ownerType.Name, name); } RoutedEvent routedEvent = new RoutedEvent(name, routingStrategy, handlerType, ownerType); registeredRoutedEvents.Add(key, routedEvent); return routedEvent; }