Click or drag to resize

IniSettingsBase Class

Represents the base class for application settings that are synchronized to an INI file.
Inheritance Hierarchy
SystemObject
  GSF.ConfigurationSettingsBase
    GSF.ConfigurationIniSettingsBase

Namespace: GSF.Configuration
Assembly: GSF.Core (in GSF.Core.dll) Version: 2.4.181-beta
Syntax
public abstract class IniSettingsBase : SettingsBase
View Source

The IniSettingsBase type exposes the following members.

Constructors
 NameDescription
Protected methodIniSettingsBase(String, String) Creates a new instance of the IniSettingsBase class for the application's INI file.
Protected methodIniSettingsBase(String, String, Boolean, Boolean) Creates a new instance of the IniSettingsBase class for the application's INI file.
Protected methodIniSettingsBase(IniFile, String, Boolean, Boolean, Boolean) Creates a new instance of the IniSettingsBase class for the application's INI file.
Top
Properties
 NameDescription
Public propertyCulture Gets or sets the CultureInfo to use for the conversion of setting values to and from String.
(Inherited from SettingsBase)
Protected propertyIniFile Gets or sets reference to working INI file.
Public propertyItem Gets or sets the value of the specified field or property.
(Inherited from SettingsBase)
Protected propertyMemberAccessBindingFlags Gets or sets BindingFlags used to access fields and properties of derived class.
(Inherited from SettingsBase)
Public propertyRequireSerializeSettingAttribute Gets or sets flag that determines if SerializeSettingAttribute is required to exist before a field or property is serialized to the configuration file; defaults to False.
(Inherited from SettingsBase)
Public propertySectionName Gets or sets default name of section used to access settings in INI file.
Public propertyUseCategoryAttributes Gets or sets value that determines whether a CategoryAttribute applied to a field or property will be used for the section name.
Top
Methods
 NameDescription
Protected methodCreateSetting Create setting in INI file if it doesn't already exist. This method is for internal use.
(Overrides SettingsBaseCreateSetting(String, String, String))
Public methodCreateValue Adds a setting to the application's configuration file, if it doesn't already exist.
(Inherited from SettingsBase)
Protected methodDeriveDefaultValue Attempts to get best default value for given member.
(Inherited from SettingsBase)
Public methodDispose Releases all the resources used by the CategorizedSettingsBase object.
(Inherited from SettingsBase)
Protected methodDispose(Boolean) Releases the unmanaged resources used by the CategorizedSettingsBase object and optionally releases the managed resources.
(Inherited from SettingsBase)
Public methodEqualsDetermines whether the specified object is equal to the current object.
(Inherited from Object)
Protected methodExecuteActionForFields Executes specified action over all public derived class member fields.
(Inherited from SettingsBase)
Protected methodExecuteActionForProperties Executes specified action over all public derived class properties.
(Inherited from SettingsBase)
Protected methodFinalize Releases the unmanaged resources before the CategorizedSettingsBase object is reclaimed by GC.
(Inherited from SettingsBase)
Protected methodGetAttributeValueTAttribute, TValue Attempts to find specified attribute and return specified value.
(Inherited from SettingsBase)
Public methodGetDefaultValue Gets the default value specified by DefaultValueAttribute, if any, applied to the specified field or property.
(Inherited from SettingsBase)
Public methodGetEncryptKey Gets the optional private encryption key specified by EncryptSettingAttribute, if any, applied to the specified field or property.
(Inherited from SettingsBase)
Public methodGetEncryptStatus Gets the encryption status specified by EncryptSettingAttribute, if any, applied to the specified field or property.
(Inherited from SettingsBase)
Public methodGetEnumerator Returns an enumerator based on String elements that iterates over the field and property names of this class that are targeted for serialization to the configuration file.
(Inherited from SettingsBase)
Public methodGetFieldSectionName Gets the section name to use for the specified field or property.
Public methodGetHashCodeServes as the default hash function.
(Inherited from Object)
Public methodGetSettingName Gets setting name to use for specified field or property.
(Inherited from SettingsBase)
Public methodGetTypeGets the Type of the current instance.
(Inherited from Object)
Public methodGetValue(String, Type) Gets the application's configuration file setting converted to the given type.
(Inherited from SettingsBase)
Public methodGetValueT(String) Gets the application's configuration file setting converted to the given type.
(Inherited from SettingsBase)
Public methodGetValueT(String, T) Copies the specified application setting into the given value.
(Inherited from SettingsBase)
Protected methodInitialize Initializes configuration settings from derived class fields or properties.
(Inherited from SettingsBase)
Public methodLoad Loads configuration file into setting fields.
(Inherited from SettingsBase)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object.
(Inherited from Object)
Protected methodPersistSettings Persists any pending changes to INI file. This method is for internal use.
(Overrides SettingsBasePersistSettings)
Public methodRestoreDefaultSettings Restores the default settings of the configuration file.
(Inherited from SettingsBase)
Protected methodRetrieveSetting Retrieves setting from INI file. This method is for internal use.
(Overrides SettingsBaseRetrieveSetting(String, String))
Public methodSave Saves setting fields into configuration file.
(Inherited from SettingsBase)
Public methodSetValue Copies the given value into the specified application setting.
(Inherited from SettingsBase)
Protected methodStoreSetting Stores setting to INI file. This method is for internal use.
(Overrides SettingsBaseStoreSetting(String, String, String))
Public methodToStringReturns a string that represents the current object.
(Inherited from Object)
Top
Extension Methods
 NameDescription
Public Extension MethodGetEnumValueOrDefault Gets the enumeration constant for value, if defined in the enumeration, or a default value.
(Defined by EnumExtensions)
Public Extension MethodGetEnumValueOrDefaultT Gets the enumeration constant for this value, if defined in the enumeration, or a default value.
(Defined by EnumExtensions)
Top
Remarks

In order to make custom types serializable for the INI file, implement a TypeConverter for the type.
See MSDN for details.

Example
Here is an example class derived from IniSettingsBase that automatically serializes its fields and properties to the INI file.
C#
public enum MyEnum
 {
     One,
     Two,
     Three
 }

 public class MySettings : IniSettingsBase
 {
     // Private property fields (private fields will not be serialized)
     private double m_doubleVal;

     // Public settings fields
     public bool BoolVal = true;
     public int IntVal = 1;
     public float FloatVal = 3.14F;
     public string StrVal = "This is a test...";
     public MyEnum EnumVal = MyEnum.Three;

     [SettingName("UserOptions"), EncryptSetting()]
     public string Password = "default";

     // Mark this field to not be serialized to INI file...
     [SerializeSetting(false)]
     public decimal DecimalVal;

     public MySettings()
         : base(FilePath.GetAbsolutePath("MySettings.ini"), "GeneralSettings") {}

     [Category("OtherSettings"), DefaultValue(1.159D)]
     public double DoubleVal
     {
         get
         {
             return m_doubleVal;
         }
         set
         {
             m_doubleVal = value;
         }
     }

     [SerializeSetting(false)]
     public bool DontSerializeMe { get; set; }
 }
See Also