アプリケーション設定の属性

アプリケーション設定のアーキテクチャには、アプリケーション設定のラッパー クラスにもその個々のプロパティにも適用できる属性が多数用意されています。 これらの属性は、カスタム ラッパーの要件に合わせてその機能を調整するために、アプリケーション設定のインフラストラクチャ (具体的には多くの場合が設定プロバイダー) によって実行時に検査されます。

次の表に、アプリケーション設定のラッパー クラス、このクラスの個々のプロパティ、またはその両方に適用できる属性を示します。 定義上、1 つ 1 つのプロパティには、1 つのスコープ属性 (UserScopedSettingAttribute または ApplicationScopedSettingAttribute) のみを適用する必要があります。

注意

SettingsProvider クラスから派生したカスタム設定プロバイダーが必要になるのは、次の 3 つの属性を認識する場合のみです: ApplicationScopedSettingAttributeUserScopedSettingAttributeDefaultSettingValueAttribute

属性 Target 説明
SettingsProviderAttribute 両方 永続化に使用する設定プロバイダーの短い名前を指定します。

この属性をしていない場合は、既定のプロバイダーである LocalFileSettingsProvider が指定されていると見なされます。
UserScopedSettingAttribute 両方 プロパティをユーザースコープのアプリケーション設定として定義します。
ApplicationScopedSettingAttribute 両方 アプリケーションスコープのアプリケーション設定としてプロパティを定義します。
DefaultSettingValueAttribute プロパティ このプロパティのハードコーディングされた既定値にプロバイダーが逆シリアル化できる文字列を指定します。

LocalFileSettingsProvider では、この属性は必要ありません。また、既に永続化されている値がある場合、この属性によって指定された値をオーバーライドします。
SettingsDescriptionAttribute プロパティ 実行時およびデザイン時ツールで主に使用される、個々の設定についての説明テストを指定します。
SettingsGroupNameAttribute クラス 設定グループの明示的な名前を指定します。 この属性が指定されていない場合、ApplicationSettingsBase ではラッパー クラス名が使用されます。
SettingsGroupDescriptionAttribute クラス 実行時および設計時ツールで主に使用される、設定グループについての記述テストを指定します。
SettingsManageabilityAttribute 両方 設定グループまたはプロパティに対して提供する必要のある 0 個以上の管理サービスを指定します。 使用可能なサービスは、SettingsManageability 列挙体によって記述されます。
SpecialSettingAttribute プロパティ 設定プロバイダーによる特別な処理を提示する、特別な定義済みカテゴリ (接続文字列など) に設定が属していることを示します。 この属性の定義済みのカテゴリは、SpecialSetting 列挙体によって定義されます。
SettingsSerializeAsAttribute 両方 設定グループまたはプロパティに対して推奨されるシリアル化メカニズムを指定します。 使用できるシリアル化メカニズムは、SettingsSerializeAs 列挙体によって定義されます。
NoSettingsVersionUpgradeAttribute プロパティ 設定プロバイダーによって、マークされたプロパティのすべてのアプリケーション アップグレード機能が無効にされる必要があることを指定します。

"クラス" は、アプリケーション設定ラッパー クラスにのみ属性を適用できることを示します。 "プロパティ" は、設定プロパティにのみ属性を適用できることを示します。 "両方" は、属性をどちらのレベルでも適用できることを示します。

関連項目