private void RestoreNotifications() { IGuiNotificationSettingsService service = Services.GetService <IGuiNotificationSettingsService>(); Diagnostics.Assert(service != null); PropertyInfo[] properties = typeof(IGuiNotificationSettingsService).GetProperties(BindingFlags.Instance | BindingFlags.Public); KeyValuePair <StaticString, bool> notificationPreference; foreach (KeyValuePair <StaticString, bool> notificationPreference2 in this.notificationPreferences) { notificationPreference = notificationPreference2; properties.First((PropertyInfo p) => p.Name == notificationPreference.Key).SetValue(service, notificationPreference.Value, null); } }
private void SetNotifications(bool on = true) { IGuiNotificationSettingsService service = Services.GetService <IGuiNotificationSettingsService>(); Diagnostics.Assert(service != null); PropertyInfo[] properties = typeof(IGuiNotificationSettingsService).GetProperties(BindingFlags.Instance | BindingFlags.Public); this.notificationPreferences.Clear(); foreach (PropertyInfo propertyInfo in properties) { if (propertyInfo.PropertyType == typeof(bool)) { this.notificationPreferences.Add(propertyInfo.Name, (bool)propertyInfo.GetValue(service, null)); propertyInfo.SetValue(service, on, null); } } }