ISettings Interface

This interface defines the settings contract.

Namespace:  Microsoft.Data.Schema.Common.Settings
Assembly:  Microsoft.Data.Schema (in Microsoft.Data.Schema.dll)

public interface ISettings

Any feature that provides settings that need to be hosted in the VS Tools -> Options page or the Project Properties page, should implement this interface.

Any setting will be a writable property in the implemented class, and the property should be given a SettingAttribute attribute. Any setting property should be able to covert to a string. The user can specify TypeConverter on this property.

An implemented class should provide overrides for Equals and GetHashCode methods. In this way, when any modification happens to settings, old settings will be compared to new settings; if any changes are detected, the SettingsChanged event will be raised.