public override void LoadSettingsFromStorage()

in SamplesV1/ADFSecurePublish/SecurePublishMenuCommand/UserSettings/SettingsPageGrid.cs [76:105]


        public override void LoadSettingsFromStorage()
        {
            if (File.Exists(settingsFile))
            {
                AppSettings settings = null;

                try
                {
                    settings = JsonConvert.DeserializeObject<AppSettings>(File.ReadAllText(settingsFile));
                }
                catch
                {
                    string backUpFile = Path.Combine(Path.GetDirectoryName(settingsFile),
                        Path.GetFileNameWithoutExtension(settingsFile) + "_BackUp.json");
                    File.Move(settingsFile, backUpFile);

                    return;
                }

                var appSettingsType = typeof(AppSettings);
                var thisType = GetType();

                // copy properties
                foreach (var property in appSettingsType.GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.DeclaredOnly))
                {
                    var propertyToSet = thisType.GetProperty(property.Name);
                    propertyToSet.SetValue(this, property.GetValue(settings));
                }
            }
        }