Example #1
0
 public bool Equals(EventHandlerHash other)
 {
     if (ReferenceEquals(null, other))
     {
         return(false);
     }
     if (ReferenceEquals(this, other))
     {
         return(true);
     }
     return(Equals(other._name, _name) && Equals(other._type, _type));
 }
Example #2
0
        /// <summary>
        /// Generates the event handler.
        /// </summary>
        /// <param name="delType">Type of the del.</param>
        /// <param name="memberName">The memberName.</param>
        /// <returns></returns>
        public static object GenerateEventHandler(Type delType, string memberName)
        {
            var tHash = new EventHandlerHash(memberName, delType);


            lock (_eventHandlerStoreLock)
            {
                object tReturn;
                if (!_eventHandlerStore.TryGetValue(tHash, out tReturn))
                {
                    tReturn = Delegate.CreateDelegate(delType, new BinderEventHandlerMemberName(memberName),
                                                      BinderEventHandlerMemberName.InvokeMethodInfo);
                }
                return(tReturn);
            }
        }
Example #3
0
 public bool Equals(EventHandlerHash other)
 {
     if (ReferenceEquals(null, other)) return false;
     if (ReferenceEquals(this, other)) return true;
     return Equals(other._name, _name) && Equals(other._type, _type);
 }
Example #4
0
        /// <summary>
        /// Generates the event handler.
        /// </summary>
        /// <param name="delType">Type of the del.</param>
        /// <param name="memberName">The memberName.</param>
        /// <returns></returns>
        public static object GenerateEventHandler(Type delType, string memberName)
        {
            var tHash = new EventHandlerHash(memberName, delType);
            

            lock (_eventHandlerStoreLock)
            {
                object tReturn;
                if (!_eventHandlerStore.TryGetValue(tHash, out tReturn))
                {
                    tReturn = Delegate.CreateDelegate(delType, new BinderEventHandlerMemberName(memberName), 
                                                      BinderEventHandlerMemberName.InvokeMethodInfo);
                }
                return tReturn;
            }
        }