public static void OnAlbumImageChanged(string artistName, string albumName, AlbumImageChangedEventHandler callback) { var cacheName = FormatAlbumCacheName(artistName, albumName); lock (AlbumImageChanged) { if (AlbumImageChanged.ContainsKey(cacheName)) { AlbumImageChanged[cacheName] += callback; } else { AlbumImageChanged.Add(cacheName, callback); } } }
public static void RemoveHandler(string artistName, string albumName, AlbumImageChangedEventHandler callback) { var cacheName = FormatAlbumCacheName(artistName, albumName); lock (AlbumImageChanged) { if (AlbumImageChanged.TryGetValue(cacheName, out var d)) { d -= callback; if (d == null) { AlbumImageChanged.Remove(cacheName); } else { AlbumImageChanged[cacheName] = d; } } } }