private List <FeedbackMessage> GetOrNewFeedbackMessages(FeedbackMessage.FeedbackMessageLevel level) { if (!messagesHolder.ContainsKey(level)) { lock (createLock) { if (!messagesHolder.ContainsKey(level)) { var messageList = new List <FeedbackMessage>(); messagesHolder[level] = messageList; return(messageList); } } } return(messagesHolder[level]); }
/// <summary> /// Clear messages. /// </summary> /// <param name="level"></param> public void Clear(FeedbackMessage.FeedbackMessageLevel level) { GetOrNewFeedbackMessages(level).Clear(); }
/// <summary> /// Gets feedback messages as readonly. /// </summary> /// <param name="level"></param> /// <returns></returns> public IList <FeedbackMessage> GetFeedbackMessages(FeedbackMessage.FeedbackMessageLevel level) { var messages = GetOrNewFeedbackMessages(level); return(messages.AsReadOnly()); }