/// <summary>
        /// Returns a <see cref="Boolean"/> value which indicates whether the current
        /// <c>ActionDelegatedEventHandler{T}</c> equals to the given object.
        /// </summary>
        /// <param name="obj">The <see cref="Object"/> which is used to compare to
        /// the current <c>ActionDelegatedEventHandler{T}</c> instance.</param>
        /// <returns>If the given object equals to the current <c>ActionDelegatedEventHandler{T}</c>
        /// instance, returns true, otherwise, false.</returns>
        public override bool Equals(object obj)
        {
            if (ReferenceEquals(this, obj))
            {
                return(true);
            }
            if (obj == null)
            {
                return(false);
            }
            ActionDelegatedEventHandler <TEvent> other = obj as ActionDelegatedEventHandler <TEvent>;

            if (other == null)
            {
                return(false);
            }
            return(Equals(this.action, other.action));
        }
 public bool Equals(ActionDelegatedEventHandler <TEvent> other)
 {
     return(other != null &&
            EqualityComparer <Action <TEvent> > .Default.Equals(action, other.action));
 }