using System; using System.Diagnostics; public class FavoriteManager { Favorite[] favs; public delegate void FavoriteEventHandler(Favorite fav); public FavoriteEventHandler FavoriteAdded; public FavoriteManager() { FavoriteAdded = new FavoriteEventHandler(OnFavoriteAdded); FavoriteAdded += delegate(Favorite fav) { Trace.WriteLine("Favorite added: " + fav.Name); }; FavoriteAdded += (fav) => { Trace.WriteLine("Favorite added: " + fav.Name); }; } public void Add(string name, string url) { if (favs == null) { favs = new Favorite[] { new Favorite(name, new Uri(url)) }; } else { Favorite[] favs2 = new Favorite[favs.Length + 1]; Array.Copy(favs, favs2, favs.Length); favs2[favs.Length] = new Favorite(name, new Uri(url)); favs = favs2; } if (FavoriteAdded != null) { FavoriteAdded(favs[favs.Length - 1]); } } void OnFavoriteAdded(Favorite fav) { Trace.WriteLine("Favorite added: " + fav.Name); } }