//The event-invoking method that derived classes can override. public virtual void FireMainChatRoomEvent(ChatroomEventEnum e) { EventHandler <EventArgs> handler; switch (e) { case ChatroomEventEnum.EnterChat: handler = MainChatRoomJoin; break; case ChatroomEventEnum.LeaveChat: handler = MainChatRoomLeave; break; case ChatroomEventEnum.Other: handler = MainChatRoomOther; break; default: handler = null; break; } if (handler != null) { handler(this, null); } }
//The event-invoking method that derived classes can override. protected virtual void FireChatRoomEvent(ChatroomEventEnum e, ChatroomEntity chatroom) { EventHandler <ChatroomEntity> handler; switch (e) { case ChatroomEventEnum.EnterChat: handler = ChatRoomJoin; break; case ChatroomEventEnum.LeaveChat: handler = ChatRoomLeave; break; case ChatroomEventEnum.Other: handler = ChatRoomOther; break; default: handler = null; break; } if (handler != null) { handler(this, chatroom); } }