/// <summary> /// Resets settings to the default behavior. /// </summary> public static void Reset() { resolvedSettings.Clear(); SettingsDirectory = Path.Combine(Deployment.Directory, ".config"); Deserialize = DeserializeDefault; GetSerializedSetting = GetSerializedSettingDefault; sources = DefaultSources.Value; precedence = new Lazy <string[]>(DefaultPrecedence); }
public AnonymousSettingsSource(GetSerializedSetting getSetting, string name = null) { if (getSetting == null) { throw new ArgumentNullException("getSetting"); } this.getSetting = getSetting; this.name = name; }
/// <summary> /// Resets settings to the default behavior. /// </summary> /// <param name="rootDirectoryOverride">Optional root directory to look in override; DEFAULT is (AppDomain.CurrentDomain.BaseDirectory).</param> /// <param name="configDirectoryNameOverride">Optional config directory override; DEFAULT is ".config".</param> public static void Reset(string rootDirectoryOverride = null, string configDirectoryNameOverride = DefaultConfigDirectoryName) { lock (SyncUpdateSettings) { var baseDirectory = rootDirectoryOverride ?? AppDomain.CurrentDomain.BaseDirectory; var directoryName = configDirectoryNameOverride ?? DefaultConfigDirectoryName; ResolvedSettings.Clear(); ResolvedByNameSettings.Clear(); SettingsDirectory = Path.Combine(baseDirectory, directoryName); GetSerializedSetting = GetSerializedSettingDefault; sources = DefaultSources.Value; precedence = new Lazy <string[]>(DefaultPrecedence); serializerRepresentation = new SerializerRepresentation( SerializationKind.Json, typeof(AttemptOnUnregisteredTypeJsonSerializationConfiguration <NullJsonSerializationConfiguration>).ToRepresentation()); serializerFactory = new JsonSerializerFactory(); } }
/// <summary> /// Creates the source. /// </summary> /// <param name="getSetting">A delegate that gets a setting based on a provided key.</param> /// <param name="name">The name (optional) of the source.</param> /// <returns></returns> public static ISettingsSource CreateSource(GetSerializedSetting getSetting, string name = null) { return(new AnonymousSettingsSource(getSetting, name)); }