ConfigurationProperty ConfigurationProperty ConfigurationProperty ConfigurationProperty Class

Definition

Stellt ein Attribut oder ein untergeordnetes Element eines Konfigurationselements dar.Represents an attribute or a child of a configuration element. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

Diese API unterstützt die Produktinfrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code gedacht.

public ref class ConfigurationProperty sealed
public sealed class ConfigurationProperty
type ConfigurationProperty = class
Public NotInheritable Class ConfigurationProperty
Vererbung
ConfigurationPropertyConfigurationPropertyConfigurationPropertyConfigurationProperty

Beispiele

  1. Im folgenden Codebeispiel wird veranschaulicht, wie Sie mit der ConfigurationProperty beim Erstellen eines benutzerdefinierten Abschnitts.The following code example shows how to use the ConfigurationProperty when you create a custom section.
using System;
using System.Configuration;
using System.Collections;
using System.ComponentModel;

namespace ConfigurationPropertyExample
{
    // Define a custom section.
    // Shows how to use the ConfigurationProperty
    // class when defining a custom section.
    public sealed class CustomSection : ConfigurationSection
    {
        // The collection (property bag) that contains 
        // the section properties.
        private static ConfigurationPropertyCollection _Properties;

        // The FileName property.
        private static ConfigurationProperty _FileName;

        // The Alias property.
        private static ConfigurationProperty _Alias;

        // The MaxUsers property.
        private static ConfigurationProperty _MaxUsers;

        // The MaxIdleTime property.
        private static ConfigurationProperty _MaxIdleTime;

        // CustomSection constructor.
        static CustomSection()
        {
            // Initialize the _FileName property
            _FileName =
                new ConfigurationProperty("fileName",
                typeof(string), "default.txt");

            // Initialize the _MaxUsers property
            _MaxUsers =
                new ConfigurationProperty("maxUsers",
                typeof(long), (long)1000,
                ConfigurationPropertyOptions.None);

            // Initialize the _MaxIdleTime property
            TimeSpan minTime = TimeSpan.FromSeconds(30);
            TimeSpan maxTime = TimeSpan.FromMinutes(5);

            ConfigurationValidatorBase _TimeSpanValidator =
                new TimeSpanValidator(minTime, maxTime, false);

            _MaxIdleTime =
                new ConfigurationProperty("maxIdleTime",
                typeof(TimeSpan), TimeSpan.FromMinutes(5),
                TypeDescriptor.GetConverter(typeof(TimeSpan)),
                _TimeSpanValidator,
                ConfigurationPropertyOptions.IsRequired,
                "[Description:This is the max idle time.]");

            // Initialize the _Alias property
            _Alias =
                new ConfigurationProperty("alias",
                typeof(string), "alias.txt");

            // Initialize the Property collection.
            _Properties = new ConfigurationPropertyCollection();
            _Properties.Add(_FileName);
            _Properties.Add(_Alias);
            _Properties.Add(_MaxUsers);
            _Properties.Add(_MaxIdleTime);
        }

        // Return the initialized property bag
        // for the configuration element.
        protected override ConfigurationPropertyCollection Properties
        {
            get
            {
                return _Properties;
            }
        }

        // Clear the property.
        public void ClearCollection()
        {
            Properties.Clear();
        }

        // Remove an element from the property collection.
        public void RemoveCollectionElement(string elName)
        {
            Properties.Remove(elName);
        }

        // Get the property collection enumerator.
        public IEnumerator GetCollectionEnumerator()
        {
            return (Properties.GetEnumerator());
        }

        [StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;'\"|\\",
            MinLength = 1, MaxLength = 60)]
        public string FileName
        {
            get
            {
                return (string)this["fileName"];
            }
            set
            {
                this["fileName"] = value;
            }
        }

        [StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;'\"|\\",
            MinLength = 1, MaxLength = 60)]
        public string Alias
        {
            get
            {
                return (string)this["alias"];
            }
            set
            {
                this["alias"] = value;
            }
        }

        [LongValidator(MinValue = 1, MaxValue = 1000000,
            ExcludeRange = false)]
        public long MaxUsers
        {
            get
            {
                return (long)this["maxUsers"];
            }
            set
            {
                this["maxUsers"] = value;
            }
        }

        public TimeSpan MaxIdleTime
        {
            get
            {
                return (TimeSpan)this["maxIdleTime"];
            }
            set
            {
                this["maxIdleTime"] = value;
            }
        }
    }
}
Imports System
Imports System.Configuration
Imports System.Collections
Imports System.ComponentModel

' Define a custom section.
' Shows how to use the ConfigurationProperty
' class when defining a custom section.
Public NotInheritable Class CustomSection
    Inherits ConfigurationSection

    ' The collection (property bag) that contains 
    ' the section properties.
    Private Shared _Properties As ConfigurationPropertyCollection

    ' The FileName property.
    Private Shared _FileName As ConfigurationProperty

    ' The Alias property.
    Private Shared _Alias As ConfigurationProperty

    ' The MasUsers property.
    Private Shared _MaxUsers As ConfigurationProperty

    ' The MaxIdleTime property.
    Private Shared _MaxIdleTime As ConfigurationProperty

    ' CustomSection constructor.
    Shared Sub New()

        ' Initialize the _FileName property
        _FileName = New ConfigurationProperty( _
            "fileName", GetType(String), "default.txt")

        ' Initialize the _MaxUsers property
        _MaxUsers = New ConfigurationProperty( _
            "maxUsers", GetType(Long), 1000L, _
            ConfigurationPropertyOptions.None)

        ' Initialize the _MaxIdleTime property
        Dim minTime As TimeSpan = TimeSpan.FromSeconds(30)
        Dim maxTime As TimeSpan = TimeSpan.FromMinutes(5)
        Dim _TimeSpanValidator = _
            New TimeSpanValidator(minTime, maxTime, False)

        _MaxIdleTime = New ConfigurationProperty( _
            "maxIdleTime", GetType(TimeSpan), _
            TimeSpan.FromMinutes(5), _
            TypeDescriptor.GetConverter(GetType(TimeSpan)), _
            _TimeSpanValidator, _
            ConfigurationPropertyOptions.IsRequired, _
            "[Description:This is the max idle time.]")

        ' Initialize the _Alias property
        _Alias = New ConfigurationProperty( _
            "alias", GetType(String), "alias.txt")

        ' Property collection initialization.
        ' The collection (property bag) that contains 
        ' the properties is declared as:
        ' ConfigurationPropertyCollection _Properties;
        _Properties = New ConfigurationPropertyCollection()
        _Properties.Add(_FileName)
        _Properties.Add(_Alias)
        _Properties.Add(_MaxUsers)
        _Properties.Add(_MaxIdleTime)

    End Sub

    ' Return the initialized property bag
    ' for the configuration element.
    Protected Overrides ReadOnly Property Properties() _
    As ConfigurationPropertyCollection
        Get
            Return _Properties
        End Get
    End Property

    <StringValidator(InvalidCharacters:= _
    " ~!@#$%^&*()[]{}/;'""|\", MinLength:=1, _
    MaxLength:=60)> _
    Public Property FileName() As String
        Get
            Return CStr(Me("fileName"))
        End Get
        Set(ByVal value As String)
            Me("fileName") = value
        End Set
    End Property

    <StringValidator(InvalidCharacters:= _
    " ~!@#$%^&*()[]{}/;'""|\", MinLength:=1, _
    MaxLength:=60)> _
    Public Property [Alias]() As String
        Get
            Return CStr(Me("alias"))
        End Get
        Set(ByVal value As String)
            Me("alias") = value
        End Set
    End Property

    <LongValidator(MinValue:=1, _
    MaxValue:=1000000, ExcludeRange:=False)> _
    Public Property MaxUsers() As Long
        Get
            Return Fix(Me("maxUsers"))
        End Get
        Set(ByVal value As Long)
            Me("maxUsers") = value
        End Set
    End Property

    Public Property MaxIdleTime() As TimeSpan
        Get
            Return CType(Me("maxIdleTime"), TimeSpan)
        End Get
        Set(ByVal value As TimeSpan)
            Me("maxIdleTime") = value
        End Set
    End Property
End Class

Folgendes ist ein Auszug aus der Konfigurationsdatei, die durch den Code im vorherigen Beispiel verwendet.The following is an excerpt of the configuration file used by the code in the previous example.

<configuration>
  <configSections>
    <section name="CustomSection" type="ConfigurationPropertyExample.CustomSection, ConfigurationPropertyExample" 
      allowDefinition="Everywhere" allowExeDefinition="MachineToApplication" 
      restartOnExternalChanges="true" />
  </configSections>
  <CustomSection fileName="override.txt" alias="alias.txt" 
    maxUsers="1000" maxIdleTime="00:05:00" />
</configuration>

Das folgende Beispiel zeigt, wie im vorherigen Abschnitt in Code erstellt wird.The following example shows how to create the previous section in code.

// Define a custom section programmatically.
static void CreateSection()
{
    try
    {
        CustomSection customSection;

        // Get the current configuration file.
        System.Configuration.Configuration config =
                ConfigurationManager.OpenExeConfiguration(
                ConfigurationUserLevel.None);

        // Create the section entry  
        // in the <configSections> and the 
        // related target section in <configuration>.
        // Call it "CustomSection2" since the file in this 
        // example already has "CustomSection".
        if (config.Sections["CustomSection"] == null)
        {
            customSection = new CustomSection();
            config.Sections.Add("CustomSection2", customSection);
            customSection.SectionInformation.ForceSave = true;
            config.Save(ConfigurationSaveMode.Full);
        }
    }
    catch (ConfigurationErrorsException err)
    {
        Console.WriteLine(err.ToString());
    }
}
' Create a custom section.
Shared Sub CreateSection()
    Try
        Dim customSection As CustomSection

        ' Get the current configuration file.
        Dim config As System.Configuration.Configuration = _
            ConfigurationManager.OpenExeConfiguration( _
            ConfigurationUserLevel.None)

        ' Create the section entry  
        ' in the <configSections> and the 
        ' related target section in <configuration>.
        ' Since the config file already has "CustomSection",
        ' call this one "CustomSection2".
        If config.Sections("CustomSection") Is Nothing Then
            customSection = New CustomSection()
            config.Sections.Add("CustomSection", customSection)
            customSection.SectionInformation.ForceSave = True
            config.Save(ConfigurationSaveMode.Full)
        End If
    Catch err As ConfigurationErrorsException
        Console.WriteLine(err.ToString())
    End Try
End Sub

Hinweise

Bei einer einfachen ConfigurationElement, z. B. die CustomSection im nächsten Beispiel gezeigt die ConfigurationProperty Objekte stellen Attribute dar, z. B. fileName.In the case of a simple ConfigurationElement, such as the CustomSection shown in the next example, the ConfigurationProperty objects represent attributes such as fileName.

Im Fall von komplexere Konfigurationselemente, z. B. einen Abschnitt mit Unterabschnitten, z. B. authentication, ConfigurationProperty Objekte darstellen können ConfigurationElement -Objekten sowie Attribute.In the case of more complex configuration elements such as a section containing subsections, for instance authentication, the ConfigurationProperty objects can represent ConfigurationElement objects as well as attributes.

Die ConfigurationPropertyCollection -Klasse stellt die Auflistung von der ConfigurationProperty Objekttypen können entweder Attribute oder ConfigurationElement Objekte eines Konfigurationselements.The ConfigurationPropertyCollection class represents the collection of the ConfigurationProperty objects that can be either attributes or ConfigurationElement objects of a configuration element.

Die ConfigurationProperty Klasse stellt eine einzelne Einstellung dar.The ConfigurationProperty class represents an individual configuration setting. Dieser Klasse können Sie abrufen oder Festlegen des Namens, der Typ und der Standardwert für eine bestimmte Entität (Attribut oder Element) und gibt an, ob das Attribut erforderlich ist, ein Elementschlüssel ist oder stellt eine Auflistung der Standard-Element dar.This class allows you to get or set the name, type, and default value for a particular configuration entity (attribute or element) and specify whether the attribute is required, is an element key, or represents a default element collection.

Hinweise für Vererber

Jede ConfigurationElement -Objekt erstellt eine interne ConfigurationPropertyCollection Auflistung von ConfigurationProperty Objekten, das die Attribute des Elements oder einer Auflistung der untergeordneten Elemente darstellt.Every ConfigurationElement object creates an internal ConfigurationPropertyCollection collection of ConfigurationProperty objects that represents either the element attributes or a collection of child elements.

Nicht anpassbaren Informationen und Funktionen enthalten ist ein ElementInformation Objekt bereitgestellt werden, indem die ElementInformation Eigenschaft.Non-customizable information and functionality is contained by an ElementInformation object provided by the ElementInformation property.

Sie können programmgesteuerte oder deklaratives (attributierten) Codierungsmodell verwenden, um ein benutzerdefiniertes Konfigurationselement zu erstellen.You can use a programmatic or a declarative (attributed) coding model to create a custom configuration element.

– Programmgesteuertes Modell.- Programmatic Model. Dieses Modell müssen Sie erstellen eine Eigenschaft für jedes Elementattribut abrufen und/oder legen Sie seinen Wert und der internen Eigenschaftensammlung des zugrunde liegenden hinzufügen ConfigurationElement Basisklasse.This model requires that you create a property for each element attribute to get and/or set its value and add it to the internal property bag of the underlying ConfigurationElement base class.

-Deklaratives Modell.- Declarative Model. Diesem einfachere Modell, auch genannt Modell der attributiertes, können Sie ein Elementattribut mithilfe einer Eigenschaft zu definieren und mit Attributen ergänzen.This simpler model, also called attributed model, allows you to define an element attribute by using a property and decorate it with attributes. Diese Attribute weisen das Konfigurationssystem von ASP.NET über die Eigenschaftstypen und deren Standardwerte fest.These attributes instruct the ASP.NET configuration system about the property types and their default values. Mit diesen Informationen erhalten mithilfe von Reflektion ASP.NET-Konfigurationssystem erstellt das Element Property-Objekte und führt die erforderliche Initialisierung.With this information, obtained through reflection, the ASP.NET configuration system creates the element property objects for you and performs the required initialization.

Konstruktoren

ConfigurationProperty(String, Type) ConfigurationProperty(String, Type) ConfigurationProperty(String, Type) ConfigurationProperty(String, Type)

Initialisiert eine neue Instanz der ConfigurationProperty-Klasse.Initializes a new instance of the ConfigurationProperty class.

ConfigurationProperty(String, Type, Object) ConfigurationProperty(String, Type, Object) ConfigurationProperty(String, Type, Object) ConfigurationProperty(String, Type, Object)

Initialisiert eine neue Instanz der ConfigurationProperty-Klasse.Initializes a new instance of the ConfigurationProperty class.

ConfigurationProperty(String, Type, Object, ConfigurationPropertyOptions) ConfigurationProperty(String, Type, Object, ConfigurationPropertyOptions) ConfigurationProperty(String, Type, Object, ConfigurationPropertyOptions) ConfigurationProperty(String, Type, Object, ConfigurationPropertyOptions)

Initialisiert eine neue Instanz der ConfigurationProperty-Klasse.Initializes a new instance of the ConfigurationProperty class.

ConfigurationProperty(String, Type, Object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions) ConfigurationProperty(String, Type, Object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions) ConfigurationProperty(String, Type, Object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions) ConfigurationProperty(String, Type, Object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions)

Initialisiert eine neue Instanz der ConfigurationProperty-Klasse.Initializes a new instance of the ConfigurationProperty class.

ConfigurationProperty(String, Type, Object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions, String) ConfigurationProperty(String, Type, Object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions, String) ConfigurationProperty(String, Type, Object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions, String) ConfigurationProperty(String, Type, Object, TypeConverter, ConfigurationValidatorBase, ConfigurationPropertyOptions, String)

Initialisiert eine neue Instanz der ConfigurationProperty-Klasse.Initializes a new instance of the ConfigurationProperty class.

Eigenschaften

Converter Converter Converter Converter

Ruft den TypeConverter ab, der zum Konvertieren dieser ConfigurationProperty in eine XML-Darstellung zum Schreiben in die Konfigurationsdatei verwendet wird.Gets the TypeConverter used to convert this ConfigurationProperty into an XML representation for writing to the configuration file.

DefaultValue DefaultValue DefaultValue DefaultValue

Ruft den Standardwert für diese ConfigurationProperty-Eigenschaft ab.Gets the default value for this ConfigurationProperty property.

Description Description Description Description

Ruft die der ConfigurationProperty zugeordnete Beschreibung ab.Gets the description associated with the ConfigurationProperty.

IsAssemblyStringTransformationRequired IsAssemblyStringTransformationRequired IsAssemblyStringTransformationRequired IsAssemblyStringTransformationRequired

Gibt an, ob der Assemblyname für die Konfigurationseigenschaft eine Transformation erfordert, wenn er für eine frühere Version von .NET Framework.NET Framework serialisiert wird.Indicates whether the assembly name for the configuration property requires transformation when it is serialized for an earlier version of the .NET Framework.NET Framework.

IsDefaultCollection IsDefaultCollection IsDefaultCollection IsDefaultCollection

Ruft einen Wert ab, der angibt, ob die Eigenschaft die Standardauflistung eines Elements ist.Gets a value that indicates whether the property is the default collection of an element.

IsKey IsKey IsKey IsKey

Ruft einen Wert ab, der angibt, ob diese ConfigurationProperty der Schlüssel für das enthaltende ConfigurationElement-Objekt ist.Gets a value indicating whether this ConfigurationProperty is the key for the containing ConfigurationElement object.

IsRequired IsRequired IsRequired IsRequired

Ruft einen Wert ab, der angibt, ob diese ConfigurationProperty erforderlich ist.Gets a value indicating whether this ConfigurationProperty is required.

IsTypeStringTransformationRequired IsTypeStringTransformationRequired IsTypeStringTransformationRequired IsTypeStringTransformationRequired

Gibt an, ob der Typname für die Konfigurationseigenschaft eine Transformation erfordert, wenn er für eine frühere Version von .NET Framework.NET Framework serialisiert wird.Indicates whether the type name for the configuration property requires transformation when it is serialized for an earlier version of the .NET Framework.NET Framework.

IsVersionCheckRequired IsVersionCheckRequired IsVersionCheckRequired IsVersionCheckRequired

Gibt an, ob der übergeordnete Konfigurationsabschnitt der Konfigurationseigenschaft während der Serialisierung abgefragt wird, um zu ermitteln, ob die Konfigurationseigenschaft in XML serialisiert werden soll.Indicates whether the configuration property's parent configuration section is queried at serialization time to determine whether the configuration property should be serialized into XML.

Name Name Name Name

Ruft den Namen dieses ConfigurationProperty ab.Gets the name of this ConfigurationProperty.

Type Type Type Type

Ruft den Typ dieses ConfigurationProperty-Objekts ab.Gets the type of this ConfigurationProperty object.

Validator Validator Validator Validator

Ruft das ConfigurationValidatorAttribute ab, das verwendet wird, um dieses ConfigurationProperty-Objekt zu überprüfen.Gets the ConfigurationValidatorAttribute, which is used to validate this ConfigurationProperty object.

Methoden

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Gilt für:

Siehe auch