/// <summary> /// Create and dispatch a new local <see cref="MemberEventArgs"/> /// with the given type to the registered event handlers. /// </summary> /// <param name="eventType"> /// The type of <b>MemberEventArgs</b> to create and dispatch. /// </param> protected virtual void DispatchMemberEvent(MemberEventType eventType) { MemberEventArgs evt = new MemberEventArgs(this, eventType, OperationalContext.LocalMember); switch (evt.EventType) { case MemberEventType.Joined: InvokeMemberEvent(MemberJoined, evt); break; case MemberEventType.Leaving: InvokeMemberEvent(MemberLeaving, evt); break; case MemberEventType.Left: InvokeMemberEvent(MemberLeft, evt); break; } }
/// <summary> /// Constructs a new MemberEventArgs. /// </summary> /// <param name="source"> /// The source object that fired the event (a /// <see cref="IService"/>). /// </param> /// <param name="eventType"> /// This event's type. /// </param> /// <param name="member"> /// The <see cref="IMember"/> for which the event applies. /// </param> public MemberEventArgs(IService source, MemberEventType eventType, IMember member) { m_source = source; m_eventType = eventType; m_member = member; }