public static void OnArtistImageChanged(string artistName, ArtistImageChangedEventHandler callback) { var cacheName = FormatArtistCacheName(artistName); lock (ArtistImageChanged) { if (ArtistImageChanged.ContainsKey(cacheName)) { ArtistImageChanged[cacheName] += callback; } else { ArtistImageChanged.Add(cacheName, callback); } } }
public static void RemoveHandler(string artistName, ArtistImageChangedEventHandler callback) { var cacheName = FormatArtistCacheName(artistName); lock (ArtistImageChanged) { if (ArtistImageChanged.TryGetValue(cacheName, out var d)) { d -= callback; if (d == null) { ArtistImageChanged.Remove(cacheName); } else { ArtistImageChanged[cacheName] = d; } } } }