public static List<Emoticon> GetEmoticons(bool refresh = false) { var emoticons = new List<Emoticon>(); if (!File.Exists(emoticonsCacheFileName)) { File.Create(emoticonsCacheFileName); refresh = true; } if (refresh) { using (StreamWriter writer = File.CreateText(emoticonsCacheFileName)) { var chatManager = new ChatManager(); foreach (Emoticon emoticon in chatManager.GetEmoticons()) { writer.WriteLine(emoticon.Pattern + "," + emoticon.Url); } } } using (StreamReader reader = File.OpenText(emoticonsCacheFileName)) { string line; while ((line = reader.ReadLine()) != null) { string[] parts = line.Split(','); emoticons.Add(new Emoticon {Pattern = parts[0].Trim(), Url = parts[1].Trim()}); } } return emoticons; }