SettingsProvider クラス

定義

アプリケーション設定アーキテクチャでカスタム設定プロバイダーを派生させるための基本クラスとして機能します。Acts as a base class for deriving custom settings providers in the application settings architecture.

public ref class SettingsProvider abstract : System::Configuration::Provider::ProviderBase
public abstract class SettingsProvider : System.Configuration.Provider.ProviderBase
type SettingsProvider = class
    inherit ProviderBase
Public MustInherit Class SettingsProvider
Inherits ProviderBase
継承
SettingsProvider
派生

注釈

設定プロバイダーは、アプリケーション設定アーキテクチャで使用される構成データを格納するためのメカニズムを定義します。A settings provider defines the mechanism for storing configuration data used in the application settings architecture. .NET Framework には、構成データをローカルファイルシステムに格納する既定の設定プロバイダー、LocalFileSettingsProviderが1つ含まれています。The .NET Framework contains a single default settings provider, LocalFileSettingsProvider, which stores configuration data to the local file system. ただし、抽象 SettingsProvider クラスから派生することによって、代替のストレージメカニズムを作成できます。However, you can create alternate storage mechanisms by deriving from the abstract SettingsProvider class. ラッパークラスが使用するプロバイダーは、ラッパークラスを SettingsProviderAttributeで修飾することによって決定されます。The provider that a wrapper class uses is determined by decorating the wrapper class with the SettingsProviderAttribute. この属性が指定されていない場合は、既定の LocalFileSettingsProviderが使用されます。If this attribute is not provided, the default, LocalFileSettingsProvider, is used.

カスタム設定プロバイダーを作成する場合は、少なくとも、GetPropertyValuesSetPropertyValues、および ApplicationNameクラスの3つのメソッドの実装を提供する必要があります。When you create a custom settings provider, at minimum, you must provide implementations for the three methods of this class: GetPropertyValues, SetPropertyValues and ApplicationName.

クライアントアプリケーションの場合は、IApplicationSettingsProvider インターフェイスを実装することで、より標準化された機能をカスタムプロバイダーに追加できます。For client applications, you can add more standardized functionality to a custom provider by also implementing the IApplicationSettingsProvider interface. このインターフェイスは、主にバージョン管理のサポートを有効にする ApplicationSettingsBase クラスのメソッドをミラー化します。This interface mirrors methods found in the ApplicationSettingsBase class, which mainly enables versioning support.

通常、ストレージリソースの競合を避けるために、単一インスタンス化するように設定プロバイダーを設計する必要があります。Typically, you should design settings providers to be single-instanced to avoid storage resource contention. また、プロバイダーは、単一のアプリケーションドメイン内の複数のラッパーインスタンスから、または異なるドメイン内の複数のアプリケーションから同時に呼び出すことができるため、スレッドセーフである必要があります。Providers should also be thread-safe because they can be called simultaneously from multiple wrapper instances in a single application domain or from multiple applications in different domains.

少なくとも、設定プロバイダーは3つの属性 ApplicationScopedSettingAttributeUserScopedSettingAttribute、および DefaultSettingValueAttributeを認識している必要があります。At minimum, a settings provider must recognize three attributes - ApplicationScopedSettingAttribute, UserScopedSettingAttribute, and DefaultSettingValueAttribute. アプリケーション設定に適用できる属性の完全な一覧については、「アプリケーション設定の属性」を参照してください。For a full listing of attributes that can be applied to application settings, see Application Settings Attributes. カスタム設定プロバイダーは、次の方法で設定プロパティに適用される属性を解決する必要があります。A custom setting provider should resolve attributes applied to settings properties in the following manner:

  1. プロバイダーが属性によって暗黙的に指定された要求を満たすことができる場合は、そのことが明らかになります。If the provider can fulfill the request implied by the attribute, obviously it should do so.

  2. プロバイダーが要求を満たすことができない場合、プロバイダーは警告なしで無視する必要があります。If the provider cannot fulfill the request, it should ignore it silently.

  3. 2つ以上のプロパティが競合する場合は、たとえば、ApplicationScopedSettingAttributeUserScopedSettingAttributeの両方で装飾されるプロパティです。プロバイダーは ConfigurationExceptionをスローする必要があります。If two or more properties conflict; for example, a property being decorated with both ApplicationScopedSettingAttribute and UserScopedSettingAttribute; the provider should throw a ConfigurationException.

コンストラクター

SettingsProvider()

SettingsProvider クラスのインスタンスを初期化します。Initializes an instance of the SettingsProvider class.

プロパティ

ApplicationName

現在実行中のアプリケーションの名前を取得または設定します。Gets or sets the name of the currently running application.

Description

管理ツールまたは他のユーザー インターフェイス (UI) での表示に適した、簡単でわかりやすい説明を取得します。Gets a brief, friendly description suitable for display in administrative tools or other user interfaces (UIs).

(継承元 ProviderBase)
Name

構成時にプロバイダーを参照するために使用される表示名を取得します。Gets the friendly name used to refer to the provider during configuration.

(継承元 ProviderBase)

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetPropertyValues(SettingsContext, SettingsPropertyCollection)

指定したアプリケーションのインスタンスと設定プロパティ グループの、設定プロパティ値のコレクションを返します。Returns the collection of settings property values for the specified application instance and settings property group.

GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
Initialize(String, NameValueCollection)

構成ビルダーを初期化します。Initializes the configuration builder.

(継承元 ProviderBase)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
SetPropertyValues(SettingsContext, SettingsPropertyValueCollection)

指定したプロパティ設定グループの値を設定します。Sets the values of the specified group of property settings.

ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象

こちらもご覧ください