private static void RaiseThemeChanged(string themeName, string controlThemeClassName) { lock (syncRoot) { if (themeChangeSuspendCounter > 0) { ThemeChangeInfo info = new ThemeChangeInfo(themeName, controlThemeClassName); if (!themesChangeDuringSuspend.Contains(info)) { themesChangeDuringSuspend.AddLast(info); } return; } ThemeChangedEventArgs args = new ThemeChangedEventArgs(themeName); foreach (IThemeChangeListener listener in themeChangeListeners) { if (!string.IsNullOrEmpty(controlThemeClassName) && String.CompareOrdinal(controlThemeClassName, listener.ControlThemeClassName) != 0) { continue; } listener.OnThemeChanged(args); } } }
public override bool Equals(object obj) { ThemeChangeInfo target = obj as ThemeChangeInfo; if (target == null) { return(false); } return(target.themeName == this.themeName && target.targetThemeClassName == this.targetThemeClassName); }