Click or drag to resize

RegistrySettingsBase Class

Represents the base class for application settings that are synchronized to the registry.
Inheritance Hierarchy
SystemObject
  GSF.ConfigurationSettingsBase
    GSF.ConfigurationRegistrySettingsBase

Namespace: GSF.Configuration
Assembly: GSF.Core (in GSF.Core.dll) Version: 2.4.218-beta+101eee949414e414795e55a6e73d88938f0177b8
Syntax
public abstract class RegistrySettingsBase : SettingsBase
View Source

The RegistrySettingsBase type exposes the following members.

Constructors
 NameDescription
Protected methodRegistrySettingsBase(String, String) Creates a new instance of the RegistrySettingsBase class for the application's registry based settings.
Protected methodRegistrySettingsBase(String, String, Boolean, Boolean, Boolean) Creates a new instance of the RegistrySettingsBase class for the application's registry based settings.
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)
Public propertyItem Gets or sets the value of the specified field or property.
(Inherited from SettingsBase)
Public propertyKeyName Gets or sets name of default key used to access settings in the registry (e.g., "General Settings").
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 propertyRootPath Gets or sets root registry path used to access settings in the registry (e.g., "HKEY_CURRENT_USER\\Software\\My Company\\My Product\\").
Public propertyUseCategoryAttributes Gets or sets value that determines whether a CategoryAttribute applied to a field or property will be used for the registry key names.
Top
Methods
 NameDescription
Protected methodCreateSetting Create setting in registry 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 methodGetFieldKeyName Gets the key name to use for storing the specified field or property in the registry.
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 Persist any pending changes to registry. 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 registry. 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 registry. 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 registry, implement a TypeConverter for the type.
See MSDN for details.

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

 public class MySettings : RegistrySettingsBase
 {
     // 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 registry...
     [SerializeSetting(false)]
     public decimal DecimalVal;

     public MySettings()
         : base("HKEY_CURRENT_USER\\Software\\My Company\\My Product\\", "General Settings") {}

     [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