public void UpdateMessage(AbstractAnalyser me, string key, PlainTextMessage message) { lock (operationLock) { if (me != null && !CheckPermission(me)) { return; } if (existMessages.ContainsKey(key)) { PlainTextMessage intermes = existMessages[key]; if (intermes.Equals(message)) { return; } for (int i = 0; i < linkAnalysisMessages.Count; ++i) { if (linkAnalysisMessages[i].Equals(intermes)) { linkAnalysisMessages.RemoveAt(i); linkAnalysisMessages.Insert(i, message); break; } } } else { linkAnalysisMessages.Add(message); } existMessages[key] = message; } }
static void Main(string[] args) { InstantMessage plainTextMessage = new PlainTextMessage(); InstantMessage videoMessage = new VideoMessage(); plainTextMessage.ProcessMessage(); videoMessage.ProcessMessage(); Console.ReadLine(); }