コード例 #1
0
    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);
        }
    }
コード例 #2
0
    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);
            }
        }
    }