PropertyDescriptorCollection IEventBindingService.GetEventProperties(EventDescriptorCollection events)
        {
            if (events == null)
            {
                throw new ArgumentNullException("events");
            }
            List <PropertyDescriptor> list = new List <PropertyDescriptor>(events.Count);

            if (this._eventProperties == null)
            {
                this._eventProperties = new Hashtable();
            }
            for (int i = 0; i < events.Count; i++)
            {
                if (!this.HasGenericArgument(events[i]))
                {
                    object             eventDescriptorHashCode = this.GetEventDescriptorHashCode(events[i]);
                    PropertyDescriptor item = (PropertyDescriptor)this._eventProperties[eventDescriptorHashCode];
                    if (item == null)
                    {
                        item = new EventPropertyDescriptor(events[i], this);
                        this._eventProperties[eventDescriptorHashCode] = item;
                    }
                    list.Add(item);
                }
            }
            return(new PropertyDescriptorCollection(list.ToArray()));
        }
예제 #2
0
        /// <summary>
        ///  Converts a single event to a property.
        /// </summary>
        PropertyDescriptor IEventBindingService.GetEventProperty(EventDescriptor e)
        {
            ArgumentNullException.ThrowIfNull(e);

            PropertyDescriptor prop = new EventPropertyDescriptor(e, this);

            return(prop);
        }
예제 #3
0
        /// <summary>
        ///  Converts a single event to a property.
        /// </summary>
        PropertyDescriptor IEventBindingService.GetEventProperty(EventDescriptor e)
        {
            if (e is null)
            {
                throw new ArgumentNullException(nameof(e));
            }

            PropertyDescriptor prop = new EventPropertyDescriptor(e, this);

            return(prop);
        }
        EventDescriptor IEventBindingService.GetEvent(PropertyDescriptor property)
        {
            if (property == null)
            {
                throw new ArgumentNullException("property");
            }

            EventPropertyDescriptor eventPropDescriptor = property as EventPropertyDescriptor;

            if (eventPropDescriptor == null)
            {
                return(null);
            }

            return(eventPropDescriptor.InternalEventDescriptor);
        }
        PropertyDescriptor IEventBindingService.GetEventProperty(EventDescriptor e)
        {
            if (e == null)
            {
                throw new ArgumentNullException("e");
            }
            if (this._eventProperties == null)
            {
                this._eventProperties = new Hashtable();
            }
            object             eventDescriptorHashCode = this.GetEventDescriptorHashCode(e);
            PropertyDescriptor descriptor = (PropertyDescriptor)this._eventProperties[eventDescriptorHashCode];

            if (descriptor == null)
            {
                descriptor = new EventPropertyDescriptor(e, this);
                this._eventProperties[eventDescriptorHashCode] = descriptor;
            }
            return(descriptor);
        }
예제 #6
0
        /// <summary>
        ///  Converts a set of events to a set of properties.
        /// </summary>
        PropertyDescriptorCollection IEventBindingService.GetEventProperties(EventDescriptorCollection events)
        {
            ArgumentNullException.ThrowIfNull(events);

            List <PropertyDescriptor> props = new List <PropertyDescriptor>(events.Count);

            // We cache the property descriptors here for speed.  Create those for
            // events that we don't have yet.
            for (int i = 0; i < events.Count; i++)
            {
                if (HasGenericArgument(events[i]))
                {
                    continue;
                }

                PropertyDescriptor prop = new EventPropertyDescriptor(events[i], this);
                props.Add(prop);
            }

            return(new PropertyDescriptorCollection(props.ToArray()));
        }
 PropertyDescriptorCollection IEventBindingService.GetEventProperties(EventDescriptorCollection events)
 {
     if (events == null)
     {
         throw new ArgumentNullException("events");
     }
     PropertyDescriptor[] props = new PropertyDescriptor[events.Count];
     if (this._eventProperties == null)
     {
         this._eventProperties = new Hashtable();
     }
     for (int i = 0; i < events.Count; i++)
     {
         object eventHashCode = this.GetEventDescriptorHashCode(events[i]);
         props[i] = (PropertyDescriptor) this._eventProperties[eventHashCode];
         if (props[i] == null)
         {
             props[i] = new EventPropertyDescriptor(events[i], this);
             this._eventProperties[eventHashCode] = props[i];
         }
     }
     return new PropertyDescriptorCollection(props);
 }
 public ReferenceEventClosure(object reference, EventPropertyDescriptor prop)
 {
     _reference          = reference;
     _propertyDescriptor = prop;
 }
예제 #9
0
				public ReferenceEventClosure(object reference, EventPropertyDescriptor prop) 
				{
					this.reference = reference;
					this.propertyDescriptor = prop;
				}
예제 #10
0
		///     Converts a single event to a property.
		PropertyDescriptor IEventBindingService.GetEventProperty(EventDescriptor e) 
		{

			if (e == null) 
			{
				throw new ArgumentNullException("e");
			}

			if (_eventProperties == null) 
			{
				_eventProperties = new Hashtable();
			}

			object eventHashCode = GetEventDescriptorHashCode(e);

			PropertyDescriptor prop = (PropertyDescriptor)_eventProperties[eventHashCode];

			if (prop == null) 
			{
				prop = new EventPropertyDescriptor(e, this);
				_eventProperties[eventHashCode] = prop;
			}

			return prop;
		}
예제 #11
0
		///     Converts a set of events to a set of properties.
		PropertyDescriptorCollection IEventBindingService.GetEventProperties(EventDescriptorCollection events) 
		{

			if (events == null) 
			{
				throw new ArgumentNullException("events");
			}

			PropertyDescriptor[] props = new PropertyDescriptor[events.Count];

			// We cache the property descriptors here for speed.  Create those for
			// events that we don't have yet.
			//
			if (_eventProperties == null) 
			{
				_eventProperties = new Hashtable();
			}
            
			for (int i = 0; i < events.Count; i++) 
			{
                
				object eventHashCode = GetEventDescriptorHashCode(events[i]);

				props[i] = (PropertyDescriptor)_eventProperties[eventHashCode];

				if (props[i] == null) 
				{
					props[i] = new EventPropertyDescriptor(events[i], this);
					_eventProperties[eventHashCode] = props[i];
				}
			}

			return new PropertyDescriptorCollection(props);
		}
 PropertyDescriptorCollection IEventBindingService.GetEventProperties(EventDescriptorCollection events)
 {
     if (events == null)
     {
         throw new ArgumentNullException("events");
     }
     List<PropertyDescriptor> list = new List<PropertyDescriptor>(events.Count);
     for (int i = 0; i < events.Count; i++)
     {
         if (!this.HasGenericArgument(events[i]))
         {
             PropertyDescriptor item = new EventPropertyDescriptor(events[i], this);
             list.Add(item);
         }
     }
     return new PropertyDescriptorCollection(list.ToArray());
 }
 PropertyDescriptor IEventBindingService.GetEventProperty(EventDescriptor e)
 {
     if (e == null)
     {
         throw new ArgumentNullException("e");
     }
     if (this._eventProperties == null)
     {
         this._eventProperties = new Hashtable();
     }
     object eventDescriptorHashCode = this.GetEventDescriptorHashCode(e);
     PropertyDescriptor descriptor = (PropertyDescriptor) this._eventProperties[eventDescriptorHashCode];
     if (descriptor == null)
     {
         descriptor = new EventPropertyDescriptor(e, this);
         this._eventProperties[eventDescriptorHashCode] = descriptor;
     }
     return descriptor;
 }
 PropertyDescriptorCollection IEventBindingService.GetEventProperties(EventDescriptorCollection events)
 {
     if (events == null)
     {
         throw new ArgumentNullException("events");
     }
     List<PropertyDescriptor> list = new List<PropertyDescriptor>(events.Count);
     if (this._eventProperties == null)
     {
         this._eventProperties = new Hashtable();
     }
     for (int i = 0; i < events.Count; i++)
     {
         if (!this.HasGenericArgument(events[i]))
         {
             object eventDescriptorHashCode = this.GetEventDescriptorHashCode(events[i]);
             PropertyDescriptor item = (PropertyDescriptor) this._eventProperties[eventDescriptorHashCode];
             if (item == null)
             {
                 item = new EventPropertyDescriptor(events[i], this);
                 this._eventProperties[eventDescriptorHashCode] = item;
             }
             list.Add(item);
         }
     }
     return new PropertyDescriptorCollection(list.ToArray());
 }