e79aa3c0ed
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
260 lines
8.1 KiB
C#
260 lines
8.1 KiB
C#
//------------------------------------------------------------------------------
|
|
// <copyright file="SettingsAttributes.cs" company="Microsoft">
|
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// </copyright>
|
|
//------------------------------------------------------------------------------
|
|
|
|
namespace System.Configuration
|
|
{
|
|
using System;
|
|
|
|
/// <devdoc>
|
|
/// Indicates that a setting is to be stored on a per-application basis.
|
|
/// </devdoc>
|
|
[AttributeUsage(AttributeTargets.Property)]
|
|
public sealed class ApplicationScopedSettingAttribute : SettingAttribute {
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Indicates to the provider what default value to use for this setting when no stored value
|
|
/// is found. The value should be encoded into a string and is interpreted based on the SerializeAs
|
|
/// value for this setting. For example, if SerializeAs is Xml, the default value will be
|
|
/// "stringified" Xml.
|
|
/// </devdoc>
|
|
[AttributeUsage(AttributeTargets.Property)]
|
|
public sealed class DefaultSettingValueAttribute : Attribute {
|
|
private readonly string _value;
|
|
|
|
/// <devdoc>
|
|
/// Constructor takes the default value as string.
|
|
/// </devdoc>
|
|
public DefaultSettingValueAttribute(string value) {
|
|
_value = value;
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Default value.
|
|
/// </devdoc>
|
|
public string Value {
|
|
get {
|
|
return _value;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Indicates that the provider should disable any logic that gets invoked when an application
|
|
/// upgrade is detected.
|
|
/// </devdoc>
|
|
[AttributeUsage(AttributeTargets.Property)]
|
|
public sealed class NoSettingsVersionUpgradeAttribute : Attribute {
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Use this attribute to mark properties on a settings class that are to be treated
|
|
/// as settings. ApplicationSettingsBase will ignore all properties not marked with
|
|
/// this or a derived attribute.
|
|
/// </devdoc>
|
|
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1813:AvoidUnsealedAttributes")]
|
|
[AttributeUsage(AttributeTargets.Property)]
|
|
public class SettingAttribute : Attribute {
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Description for a particular setting.
|
|
/// </devdoc>
|
|
[AttributeUsage(AttributeTargets.Property)]
|
|
public sealed class SettingsDescriptionAttribute : Attribute {
|
|
private readonly string _desc;
|
|
|
|
/// <devdoc>
|
|
/// Constructor takes the description string.
|
|
/// </devdoc>
|
|
public SettingsDescriptionAttribute(string description) {
|
|
_desc = description;
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Description string.
|
|
/// </devdoc>
|
|
public string Description {
|
|
get {
|
|
return _desc;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Description for a particular settings group.
|
|
/// </devdoc>
|
|
[AttributeUsage(AttributeTargets.Class)]
|
|
public sealed class SettingsGroupDescriptionAttribute : Attribute {
|
|
private readonly string _desc;
|
|
|
|
/// <devdoc>
|
|
/// Constructor takes the description string.
|
|
/// </devdoc>
|
|
public SettingsGroupDescriptionAttribute(string description) {
|
|
_desc = description;
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Description string.
|
|
/// </devdoc>
|
|
public string Description {
|
|
get {
|
|
return _desc;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Name of a particular settings group.
|
|
/// </devdoc>
|
|
[AttributeUsage(AttributeTargets.Class)]
|
|
public sealed class SettingsGroupNameAttribute : Attribute {
|
|
private readonly string _groupName;
|
|
|
|
/// <devdoc>
|
|
/// Constructor takes the group name.
|
|
/// </devdoc>
|
|
public SettingsGroupNameAttribute(string groupName) {
|
|
_groupName = groupName;
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Name of the settings group.
|
|
/// </devdoc>
|
|
public string GroupName {
|
|
get {
|
|
return _groupName;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Indicates the SettingsManageability for a group of/individual setting.
|
|
/// </devdoc>
|
|
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property)]
|
|
public sealed class SettingsManageabilityAttribute : Attribute {
|
|
private readonly SettingsManageability _manageability;
|
|
|
|
/// <devdoc>
|
|
/// Constructor takes a SettingsManageability enum value.
|
|
/// </devdoc>
|
|
public SettingsManageabilityAttribute(SettingsManageability manageability) {
|
|
_manageability = manageability;
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// SettingsManageability value to use
|
|
/// </devdoc>
|
|
public SettingsManageability Manageability {
|
|
get {
|
|
return _manageability;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Indicates the provider associated with a group of/individual setting.
|
|
/// </devdoc>
|
|
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property)]
|
|
public sealed class SettingsProviderAttribute : Attribute {
|
|
private readonly string _providerTypeName;
|
|
|
|
/// <devdoc>
|
|
/// Constructor takes the provider's assembly qualified type name.
|
|
/// </devdoc>
|
|
public SettingsProviderAttribute(string providerTypeName) {
|
|
_providerTypeName = providerTypeName;
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Constructor takes the provider's type.
|
|
/// </devdoc>
|
|
public SettingsProviderAttribute(Type providerType) {
|
|
if (providerType != null) {
|
|
_providerTypeName = providerType.AssemblyQualifiedName;
|
|
}
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Type name of the provider
|
|
/// </devdoc>
|
|
public string ProviderTypeName {
|
|
get {
|
|
return _providerTypeName;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Indicates the SettingsSerializeAs for a group of/individual setting.
|
|
/// </devdoc>
|
|
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property)]
|
|
public sealed class SettingsSerializeAsAttribute : Attribute {
|
|
private readonly SettingsSerializeAs _serializeAs;
|
|
|
|
/// <devdoc>
|
|
/// Constructor takes a SettingsSerializeAs enum value.
|
|
/// </devdoc>
|
|
public SettingsSerializeAsAttribute(SettingsSerializeAs serializeAs) {
|
|
_serializeAs = serializeAs;
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// SettingsSerializeAs value to use
|
|
/// </devdoc>
|
|
public SettingsSerializeAs SerializeAs {
|
|
get {
|
|
return _serializeAs;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Indicates the SpecialSetting for a group of/individual setting.
|
|
/// </devdoc>
|
|
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Property)]
|
|
public sealed class SpecialSettingAttribute : Attribute {
|
|
private readonly SpecialSetting _specialSetting;
|
|
|
|
/// <devdoc>
|
|
/// Constructor takes a SpecialSetting enum value.
|
|
/// </devdoc>
|
|
public SpecialSettingAttribute(SpecialSetting specialSetting) {
|
|
_specialSetting = specialSetting;
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// SpecialSetting value to use
|
|
/// </devdoc>
|
|
public SpecialSetting SpecialSetting {
|
|
get {
|
|
return _specialSetting;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Indicates that a setting is to be stored on a per-user basis.
|
|
/// </devdoc>
|
|
[AttributeUsage(AttributeTargets.Property)]
|
|
public sealed class UserScopedSettingAttribute : SettingAttribute {
|
|
}
|
|
|
|
public enum SettingsManageability {
|
|
Roaming = 0
|
|
}
|
|
|
|
/// <devdoc>
|
|
/// Indicates settings that are to be treated "specially".
|
|
/// </devdoc>
|
|
public enum SpecialSetting {
|
|
ConnectionString = 0,
|
|
WebServiceUrl = 1
|
|
}
|
|
}
|
|
|