ConfigurationElement ConfigurationElement ConfigurationElement ConfigurationElement Class

定義

表示組態檔內的組態項目。Represents a configuration element within a configuration file.

public ref class ConfigurationElement abstract
public abstract class ConfigurationElement
type ConfigurationElement = class
Public MustInherit Class ConfigurationElement
繼承
ConfigurationElementConfigurationElementConfigurationElementConfigurationElement
衍生

範例

下列程式碼範例示範如何將自訂ConfigurationElement的專案實作為自訂區段中的個別專案,以及做為自訂區段中的專案集合。The following code example shows how to implement a custom ConfigurationElement both as an individual element in a custom section and as a collection of elements in a custom section. 此範例包含下列檔案:The example consists of the following files:

  • App.config 檔案,其中包含名MyUrls為的自訂區段。An app.config file that contains a custom section that is named MyUrls. 此區段包含簡單的元素(不包含任何其他專案)和專案的集合。This section contains a simple element (it does not contain any other elements) and a collection of elements. 簡單的元素會命名simple為,且集合會urls命名為。The simple element is named simple and the collection is named urls.

  • 主控台應用程式。A console application. 應用程式會讀取 app.config 檔案的內容,並將資訊寫入主控台。The application reads the contents of the app.config file and writes the information to the console. 它會使用衍生自ConfigurationElementConfigurationElementCollectionConfigurationSection的類別。It uses classes that derive from ConfigurationElement, ConfigurationElementCollection, and ConfigurationSection.

  • UrlsSection 衍生ConfigurationSection自類別的類別,名為。A class named UrlsSection that derives from the ConfigurationSection class. 這個類別是用來存取配置MyUrls檔中的區段。This class is used to access the MyUrls section in the configuration file.

  • UrlsCollection 衍生ConfigurationElementCollection自類別的類別,名為。A class named UrlsCollection that derives from the ConfigurationElementCollection class. 這個類別是用來存取配置urls檔中的集合。This class is used to access the urls collection in the configuration file.

  • UrlConfigElement 衍生ConfigurationElement自類別的類別,名為。A class named UrlConfigElement that derives from the ConfigurationElement class. 這個類別是用來存取simple設定檔中urls集合的元素和成員。This class is used to access the simple element and the members of the urls collection in the configuration file.

若要執行範例,請執行下列步驟:To run the example, perform the following steps:

  1. 建立具有主控台應用程式專案的方案,以及名ConfigurationElement為的類別庫專案。Create a solution that has a console application project and a class library project that is named ConfigurationElement.

  2. 將這三個類別檔案放在類別庫專案中,並將其他檔案放在主控台程式庫專案中。Put the three class files in the class library project and put the other files in the console library project.

  3. 在這兩個專案中, System.Configuration都會設定的參考。In both projects set a reference to System.Configuration.

  4. 在主控台應用程式專案中,將專案參考設定為類別庫專案。In the console application project set a project reference to the class library project.

// Set Assembly name to ConfigurationElement
using System;
using System.Configuration;
using System.Collections;

namespace Samples.AspNet
{
    // Entry point for console application that reads the 
    // app.config file and writes to the console the 
    // URLs in the custom section.  
    class TestConfigurationElement
    {
        static void Main(string[] args)
        {
            // Get current configuration file.
            System.Configuration.Configuration config =
                ConfigurationManager.OpenExeConfiguration(
                ConfigurationUserLevel.None);

            // Get the MyUrls section.
            UrlsSection myUrlsSection =
                config.GetSection("MyUrls") as UrlsSection;

            if (myUrlsSection == null)
                Console.WriteLine("Failed to load UrlsSection.");
            else
            {
                Console.WriteLine("The 'simple' element of app.config:");
                Console.WriteLine("  Name={0} URL={1} Port={2}",
                    myUrlsSection.Simple.Name,
                    myUrlsSection.Simple.Url,
                    myUrlsSection.Simple.Port);

                Console.WriteLine("The urls collection of app.config:");
                for (int i = 0; i < myUrlsSection.Urls.Count; i++)
                {
                    Console.WriteLine("  Name={0} URL={1} Port={2}",
                        myUrlsSection.Urls[i].Name,
                        myUrlsSection.Urls[i].Url,
                        myUrlsSection.Urls[i].Port);
                }
            }
            Console.ReadLine();
        }
    }
}
' Set Assembly name to ConfigurationElement
' and set Root namespace to Samples.AspNet
Imports System.Configuration
Imports System.Collections

Class TestConfigurationElement
    ' Entry point for console application that reads the 
    ' app.config file and writes to the console the 
    ' URLs in the custom section.
    Shared Sub Main(ByVal args() As String)
        ' Get the current configuration file.
        Dim config As System.Configuration.Configuration = _
            ConfigurationManager.OpenExeConfiguration( _
            ConfigurationUserLevel.None)

        ' Get the MyUrls section.
        Dim myUrlsSection As UrlsSection = _
            config.GetSection("MyUrls")

        If myUrlsSection Is Nothing Then
            Console.WriteLine("Failed to load UrlsSection.")
        Else
            Console.WriteLine("The 'simple' element of app.config:")
            Console.WriteLine("  Name={0} URL={1} Port={2}", _
                myUrlsSection.Simple.Name, _
                myUrlsSection.Simple.Url, _
                myUrlsSection.Simple.Port)
            Console.WriteLine("The urls collection of app.config:")
            Dim i As Integer
            For i = 0 To myUrlsSection.Urls.Count - 1
                Console.WriteLine("  Name={0} URL={1} Port={2}", _
                i, myUrlsSection.Urls(i).Name, _
                myUrlsSection.Urls(i).Url, _
                myUrlsSection.Urls(i).Port)
            Next i
        End If
        Console.ReadLine()
    End Sub
End Class
using System;
using System.Configuration;
using System.Collections;


namespace Samples.AspNet
{
    // Define a custom section containing an individual
    // element and a collection of elements.
    public class UrlsSection : ConfigurationSection
    {
        [ConfigurationProperty("name", 
            DefaultValue = "MyFavorites",
            IsRequired = true, 
            IsKey = false)]
        [StringValidator(InvalidCharacters = 
            " ~!@#$%^&*()[]{}/;'\"|\\",
            MinLength = 1, MaxLength = 60)]
        public string Name
        {

            get
            {
                return (string)this["name"];
            }
            set
            {
                this["name"] = value;
            }

        }

        // Declare an element (not in a collection) of the type
        // UrlConfigElement. In the configuration
        // file it corresponds to <simple .... />.
        [ConfigurationProperty("simple")]
        public UrlConfigElement Simple
        {
            get
            {
                UrlConfigElement url =
                (UrlConfigElement)base["simple"];
                return url;
            }
        }

        // Declare a collection element represented 
        // in the configuration file by the sub-section
        // <urls> <add .../> </urls> 
        // Note: the "IsDefaultCollection = false" 
        // instructs the .NET Framework to build a nested 
        // section like <urls> ...</urls>.
        [ConfigurationProperty("urls",
            IsDefaultCollection = false)]
        public UrlsCollection Urls
        {
            get
            {
                UrlsCollection urlsCollection =
                (UrlsCollection)base["urls"];
                return urlsCollection;
            }
        }


        protected override void DeserializeSection(
            System.Xml.XmlReader reader)
        {
            base.DeserializeSection(reader);
            // You can add custom processing code here.
        }

        protected override string SerializeSection(
            ConfigurationElement parentElement,
            string name, ConfigurationSaveMode saveMode)
        {
            string s =
                base.SerializeSection(parentElement,
                name, saveMode);
            // You can add custom processing code here.
            return s;
        }

    }
}
Imports System.Configuration
Imports System.Collections

' Define a custom section containing an individual
' element and a collection of elements.
Public Class UrlsSection
    Inherits ConfigurationSection

    <ConfigurationProperty("name", _
        DefaultValue:="MyFavorites", _
        IsRequired:=True, _
        IsKey:=False), _
        StringValidator( _
        InvalidCharacters:=" ~!@#$%^&*()[]{}/;'""|\", _
        MinLength:=1, MaxLength:=60)> _
        Public Property Name() As String

        Get
            Return CStr(Me("name"))
        End Get
        Set(ByVal value As String)
            Me("name") = value
        End Set
    End Property
    
    ' Declare an element (not in a collection) of the type
    ' UrlConfigElement. In the configuration
    ' file it corresponds to <simple .... />.
    <ConfigurationProperty("simple")> _
        Public ReadOnly Property Simple() _
        As UrlConfigElement

        Get
            Dim url As UrlConfigElement = _
                CType(Me("simple"),  _
                UrlConfigElement)
            Return url
        End Get
    End Property
    
    ' Declare a collection element represented 
    ' in the configuration file by the sub-section
    ' <urls> <add .../> </urls> 
    ' Note: the "IsDefaultCollection = false" 
    ' instructs the .NET Framework to build a nested 
    ' section like <urls> ...</urls>.
    <ConfigurationProperty("urls", _
        IsDefaultCollection:=False)> _
        Public ReadOnly Property Urls() _
        As UrlsCollection

        Get
            Dim urlsCollection _
                As UrlsCollection = _
                CType(Me("urls"), UrlsCollection)
            Return urlsCollection
        End Get
    End Property

    Protected Overrides Sub DeserializeSection( _
        ByVal reader As System.Xml.XmlReader)

        MyBase.DeserializeSection(reader)
        ' Enter your custom processing code here.
    End Sub

    Protected Overrides Function SerializeSection( _
        ByVal parentElement As ConfigurationElement, _
        ByVal name As String, _
        ByVal saveMode As ConfigurationSaveMode) As String

        Dim s As String = _
            MyBase.SerializeSection(parentElement, _
            name, saveMode)
        ' Enter your custom processing code here.
        Return s
    End Function 'SerializeSection
End Class
using System;
using System.Configuration;
using System.Collections;

namespace Samples.AspNet
{
    public class UrlsCollection : ConfigurationElementCollection
    {
        public UrlsCollection()
        {
            // Add one url to the collection.  This is
            // not necessary; could leave the collection 
            // empty until items are added to it outside
            // the constructor.
            UrlConfigElement url = 
                (UrlConfigElement)CreateNewElement();
            Add(url);
        }

        public override 
            ConfigurationElementCollectionType CollectionType
        {
            get
            {
                return 

                    ConfigurationElementCollectionType.AddRemoveClearMap;
            }
        }

        protected override 
            ConfigurationElement CreateNewElement()
        {
            return new UrlConfigElement();
        }


        protected override 
            ConfigurationElement CreateNewElement(
            string elementName)
        {
            return new UrlConfigElement(elementName);
        }


        protected override Object 
            GetElementKey(ConfigurationElement element)
        {
            return ((UrlConfigElement)element).Name;
        }


        public new string AddElementName
        {
            get
            { return base.AddElementName; }

            set
            { base.AddElementName = value; }

        }

        public new string ClearElementName
        {
            get
            { return base.ClearElementName; }

            set
            { base.ClearElementName = value; }

        }

        public new string RemoveElementName
        {
            get
            { return base.RemoveElementName; }
        }

        public new int Count
        {
            get { return base.Count; }
        }


        public UrlConfigElement this[int index]
        {
            get
            {
                return (UrlConfigElement)BaseGet(index);
            }
            set
            {
                if (BaseGet(index) != null)
                {
                    BaseRemoveAt(index);
                }
                BaseAdd(index, value);
            }
        }

        new public UrlConfigElement this[string Name]
        {
            get
            {
                return (UrlConfigElement)BaseGet(Name);
            }
        }

        public int IndexOf(UrlConfigElement url)
        {
            return BaseIndexOf(url);
        }

        public void Add(UrlConfigElement url)
        {
            BaseAdd(url);
            // Add custom code here.
        }

        protected override void 
            BaseAdd(ConfigurationElement element)
        {
            BaseAdd(element, false);
            // Add custom code here.
        }

        public void Remove(UrlConfigElement url)
        {
            if (BaseIndexOf(url) >= 0)
                BaseRemove(url.Name);
        }

        public void RemoveAt(int index)
        {
            BaseRemoveAt(index);
        }

        public void Remove(string name)
        {
            BaseRemove(name);
        }

        public void Clear()
        {
            BaseClear();
            // Add custom code here.
        }
    }
}
Imports System.Configuration
Imports System.Collections

Public Class UrlsCollection
    Inherits ConfigurationElementCollection

    Public Sub New()
        ' Add one url to the collection.  This is
        ' not necessary; could leave the collection 
        ' empty until items are added to it outside
        ' the constructor.
        Dim url As UrlConfigElement = _
            CType(CreateNewElement(), UrlConfigElement)
        ' Add the element to the collection.
        Add(url)
    End Sub

    Public Overrides ReadOnly Property CollectionType() _
        As ConfigurationElementCollectionType

        Get
            Return ConfigurationElementCollectionType.AddRemoveClearMap
        End Get
    End Property

    Protected Overloads Overrides Function CreateNewElement() _
        As ConfigurationElement

        Return New UrlConfigElement()
    End Function 'CreateNewElement

    Protected Overloads Overrides Function CreateNewElement( _
        ByVal elementName As String) _
        As ConfigurationElement

        Return New UrlConfigElement(elementName)
    End Function 'CreateNewElement

    Protected Overrides Function GetElementKey( _
        ByVal element As ConfigurationElement) As [Object]

        Return CType(element, UrlConfigElement).Name
    End Function 'GetElementKey

    Public Shadows Property AddElementName() As String

        Get
            Return MyBase.AddElementName
        End Get

        Set(ByVal value As String)
            MyBase.AddElementName = value
        End Set
    End Property

    Public Shadows Property ClearElementName() As String
        Get
            Return MyBase.ClearElementName
        End Get

        Set(ByVal value As String)
            MyBase.ClearElementName = value
        End Set
    End Property

    Public Shadows ReadOnly Property RemoveElementName() As String
        Get
            Return MyBase.RemoveElementName
        End Get
    End Property

    Public Shadows ReadOnly Property Count() As Integer
        Get
            Return MyBase.Count
        End Get
    End Property

    Default Public Shadows Property Item( _
    ByVal index As Integer) As UrlConfigElement
        Get
            Return CType(BaseGet(index), UrlConfigElement)
        End Get

        Set(ByVal value As UrlConfigElement)
            If Not (BaseGet(index) Is Nothing) Then
                BaseRemoveAt(index)
            End If
            BaseAdd(index, value)
        End Set
    End Property

    Default Public Shadows ReadOnly Property Item( _
        ByVal Name As String) As UrlConfigElement

        Get
            Return CType(BaseGet(Name), UrlConfigElement)
        End Get
    End Property

    Public Function IndexOf( _
        ByVal url As UrlConfigElement) As Integer

        Return BaseIndexOf(url)
    End Function 'IndexOf

    Public Sub Add(ByVal url As UrlConfigElement)
        BaseAdd(url)
        ' Add custom code here.
    End Sub

    Protected Overrides Sub BaseAdd( _
    ByVal element As ConfigurationElement)
        BaseAdd(element, False)
        ' Add custom code here.
    End Sub

    Public Overloads Sub Remove( _
        ByVal url As UrlConfigElement)

        If BaseIndexOf(url) >= 0 Then
            BaseRemove(url.Name)
        End If
    End Sub

    Public Sub RemoveAt(ByVal index As Integer)
        BaseRemoveAt(index)
    End Sub

    Public Overloads Sub Remove(ByVal name As String)
        BaseRemove(name)
    End Sub

    Public Sub Clear()
        BaseClear()
    End Sub
End Class
using System;
using System.Configuration;
using System.Collections;

namespace Samples.AspNet
{
    public class UrlConfigElement : ConfigurationElement
    {
        // Constructor allowing name, url, and port to be specified.
        public UrlConfigElement(String newName,
            String newUrl, int newPort)
        {
            Name = newName;
            Url = newUrl;
            Port = newPort;
        }

        // Default constructor, will use default values as defined
        // below.
        public UrlConfigElement()
        {
        }

        // Constructor allowing name to be specified, will take the
        // default values for url and port.
        public UrlConfigElement(string elementName)
        {
            Name = elementName;
        }

        [ConfigurationProperty("name", 
            DefaultValue = "Microsoft",
            IsRequired = true, 
            IsKey = true)]
        public string Name
        {
            get
            {
                return (string)this["name"];
            }
            set
            {
                this["name"] = value;
            }
        }

        [ConfigurationProperty("url",
            DefaultValue = "http://www.microsoft.com",
            IsRequired = true)]
        [RegexStringValidator(@"\w+:\/\/[\w.]+\S*")]
        public string Url
        {
            get
            {
                return (string)this["url"];
            }
            set
            {
                this["url"] = value;
            }
        }

        [ConfigurationProperty("port",
            DefaultValue = (int)0,
            IsRequired = false)]
        [IntegerValidator(MinValue = 0,
            MaxValue = 8080, ExcludeRange = false)]
        public int Port
        {
            get
            {
                return (int)this["port"];
            }
            set
            {
                this["port"] = value;
            }
        }

        protected override void DeserializeElement(
           System.Xml.XmlReader reader, 
            bool serializeCollectionKey)
        {
            base.DeserializeElement(reader, 
                serializeCollectionKey);
            // You can your custom processing code here.
        }


        protected override bool SerializeElement(
            System.Xml.XmlWriter writer, 
            bool serializeCollectionKey)
        {
            bool ret = base.SerializeElement(writer, 
                serializeCollectionKey);
            // You can enter your custom processing code here.
            return ret;

        }


        protected override bool IsModified()
        {
            bool ret = base.IsModified();
            // You can enter your custom processing code here.
            return ret;
        }
    }
}
Imports System.Configuration
Imports System.Collections

Public Class UrlConfigElement
    Inherits ConfigurationElement

    ' Constructor allowing name, url, and port to be specified.
    Public Sub New(ByVal newName As String, _
        ByVal newUrl As String, _
        ByVal newPort As Integer)

        Name = newName
        Url = newUrl
        Port = newPort

    End Sub

    ' Default constructor, will use default values as defined
    Public Sub New()

    End Sub


    ' Constructor allowing name to be specified, will take the
    ' default values for url and port.
    Public Sub New(ByVal elementName As String)
        Name = elementName

    End Sub


    <ConfigurationProperty("name", _
        DefaultValue:="Microsoft", _
        IsRequired:=True, _
        IsKey:=True)> _
        Public Property Name() As String

        Get
            Return CStr(Me("name"))
        End Get
        Set(ByVal value As String)
            Me("name") = value
        End Set
    End Property


    <ConfigurationProperty("url", _
        DefaultValue:="http://www.microsoft.com", _
        IsRequired:=True), _
        RegexStringValidator("\w+:\/\/[\w.]+\S*")> _
        Public Property Url() As String

        Get
            Return CStr(Me("url"))
        End Get
        Set(ByVal value As String)
            Me("url") = value
        End Set
    End Property


    <ConfigurationProperty("port", _
        DefaultValue:=0, _
        IsRequired:=False), _
        IntegerValidator(MinValue:=0, _
        MaxValue:=8080, ExcludeRange:=False)> _
        Public Property Port() As Integer

        Get
            Return Fix(Me("port"))
        End Get
        Set(ByVal value As Integer)
            Me("port") = value
        End Set
    End Property


    Protected Overrides Sub DeserializeElement(ByVal reader _
        As System.Xml.XmlReader, _
        ByVal serializeCollectionKey As Boolean)

        MyBase.DeserializeElement(reader, _
            serializeCollectionKey)
        ' Enter your custom processing code here.
    End Sub

    Protected Overrides Function SerializeElement(ByVal writer _
        As System.Xml.XmlWriter, _
        ByVal serializeCollectionKey As Boolean) As Boolean

        Dim ret As Boolean = _
            MyBase.SerializeElement(writer, serializeCollectionKey)
        ' Enter your custom processing code here.
        Return ret
    End Function 'SerializeElement

    Protected Overrides Function IsModified() As Boolean
        Dim ret As Boolean = MyBase.IsModified()
        ' Enter your custom processing code here.
        Return ret

    End Function 'IsModified
End Class

備註

ConfigurationElement是一個抽象類別,用來表示設定檔中的 XML 專案(例如 web.config)。The ConfigurationElement is an abstract class that is used to represent an XML element in a configuration file (such as Web.config). 設定檔中的專案可以包含零個、一個或多個子項目。An element in a configuration file can contain zero, one, or more child elements.

ConfigurationElement因為類別定義為抽象,所以您無法建立它的實例。Because the ConfigurationElement class is defined as abstract, you cannot create an instance of it. 您只能從中衍生類別。You can only derive classes from it. .NET Framework 包括衍生自ConfigurationElement類別的類別,以代表標準的 XML 設定元素, ConfigurationSection例如。The .NET Framework includes classes that derive from the ConfigurationElement class in order to represent standard XML configuration elements, such as ConfigurationSection. 您也可以擴充ConfigurationElement類別,以存取自訂設定元素和區段。You can also extend the ConfigurationElement class to access custom configuration elements and sections. 本主題稍後所包含的範例將示範如何使用衍生ConfigurationElement自的自訂類別,來存取自訂的設定專案和區段。The example included later in this topic shows how to access custom configuration elements and sections by using custom classes that derive from ConfigurationElement.

您也可以ConfigurationElement擴充標準設定類型,例如、 ConfigurationElementCollectionConfigurationPropertyConfigurationSectionYou can also extend the standard configuration types such as ConfigurationElement, ConfigurationElementCollection, ConfigurationProperty, and ConfigurationSection. 如需詳細資訊,請參閱這些類別的檔。For more information, see the documentation for those classes.

如需如何存取設定檔中資訊的詳細資訊,請參閱ConfigurationManager類別WebConfigurationManager和類別。For more information about how to access information in configuration files, see the ConfigurationManager class and the WebConfigurationManager class.

給繼承者的注意事項

ConfigurationElement個物件都會建立ConfigurationPropertyCollection ConfigurationProperty物件的內部集合,以代表元素屬性或子專案的集合。Every ConfigurationElement object creates an internal ConfigurationPropertyCollection collection of ConfigurationProperty objects that represents either the element attributes or a collection of child elements.

不可自訂的資訊和功能包含ElementInformationElementInformation屬性所提供的物件中。Non-customizable information and functionality is contained by an ElementInformation object provided by the ElementInformation property.

您可以使用程式設計方式或宣告式(屬性化)編碼模型來建立自訂的設定元素:You can use either a programmatic or a declarative (attributed) coding model to create a custom configuration element: -程式設計模型需要針對每個專案屬性,建立屬性以取得或設定其值,並將它加入至基礎ConfigurationElement基類的內部屬性包。- The programmatic model requires that for each element attribute, you create a property to get or set its value and add it to the internal property bag of the underlying ConfigurationElement base class. 如需如何使用此模型的範例,請參閱ConfigurationSection類別。For an example of how to use this model, see the ConfigurationSection class.

-較簡單的宣告式模型也稱為屬性化模型,可讓您使用屬性來定義專案屬性,然後再以屬性裝飾。- The simpler declarative model, also called the attributed model, allows you to define an element attribute by using a property and then decorate it with attributes. 這些屬性會指示 ASP.NET 設定系統有關屬性類型及其預設值的資訊。These attributes instruct the ASP.NET configuration system about the property types and their default values. 透過反映取得的這項資訊,ASP.NET 設定系統會為您建立元素屬性物件,並執行必要的初始化。With this information, obtained through reflection, the ASP.NET configuration system creates the element property objects for you and performs the required initialization. 本主題稍後顯示的範例將示範如何使用此模型。The example shown later in this topic shows how to use this model.

建構函式

ConfigurationElement() ConfigurationElement() ConfigurationElement() ConfigurationElement()

初始化 ConfigurationElement 類別的新執行個體。Initializes a new instance of the ConfigurationElement class.

屬性

CurrentConfiguration CurrentConfiguration CurrentConfiguration CurrentConfiguration

取得最上層 Configuration 執行個體的參考,這個執行個體表示目前 ConfigurationElement 執行個體所屬的組態階層架構。Gets a reference to the top-level Configuration instance that represents the configuration hierarchy that the current ConfigurationElement instance belongs to.

ElementInformation ElementInformation ElementInformation ElementInformation

取得 ElementInformation 物件,其中包含 ConfigurationElement 物件之不可自訂的資訊和功能。Gets an ElementInformation object that contains the non-customizable information and functionality of the ConfigurationElement object.

ElementProperty ElementProperty ElementProperty ElementProperty

取得表示 ConfigurationElementProperty 物件本身的 ConfigurationElement 物件。Gets the ConfigurationElementProperty object that represents the ConfigurationElement object itself.

EvaluationContext EvaluationContext EvaluationContext EvaluationContext

取得 ConfigurationElement 物件的 ContextInformation 物件。Gets the ContextInformation object for the ConfigurationElement object.

HasContext HasContext HasContext HasContext

取得值,指出 CurrentConfiguration 屬性是否為 nullGets a value that indicates whether the CurrentConfiguration property is null.

Item[ConfigurationProperty] Item[ConfigurationProperty] Item[ConfigurationProperty] Item[ConfigurationProperty]

取得或設定此組態項目的屬性 (Property) 或屬性 (Attribute)。Gets or sets a property or attribute of this configuration element.

Item[String] Item[String] Item[String] Item[String]

取得或設定此一組態項目的屬性或子項目。Gets or sets a property, attribute, or child element of this configuration element.

LockAllAttributesExcept LockAllAttributesExcept LockAllAttributesExcept LockAllAttributesExcept

取得已鎖定屬性的集合。Gets the collection of locked attributes.

LockAllElementsExcept LockAllElementsExcept LockAllElementsExcept LockAllElementsExcept

取得已鎖定項目的集合。Gets the collection of locked elements.

LockAttributes LockAttributes LockAttributes LockAttributes

取得已鎖定屬性的集合。Gets the collection of locked attributes

LockElements LockElements LockElements LockElements

取得已鎖定項目的集合。Gets the collection of locked elements.

LockItem LockItem LockItem LockItem

取得或設定值,指出此項目是否已被鎖定。Gets or sets a value indicating whether the element is locked.

Properties Properties Properties Properties

取得屬性的集合。Gets the collection of properties.

方法

DeserializeElement(XmlReader, Boolean) DeserializeElement(XmlReader, Boolean) DeserializeElement(XmlReader, Boolean) DeserializeElement(XmlReader, Boolean)

從組態檔讀取 XML。Reads XML from the configuration file.

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

將目前的 ConfigurationElement 執行個體與指定的物件相比較。Compares the current ConfigurationElement instance to the specified object.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

取得表示目前 ConfigurationElement 執行個體的唯一值。Gets a unique value representing the current ConfigurationElement instance.

GetTransformedAssemblyString(String) GetTransformedAssemblyString(String) GetTransformedAssemblyString(String) GetTransformedAssemblyString(String)

傳回指定之組件名稱的轉換版本。Returns the transformed version of the specified assembly name.

GetTransformedTypeString(String) GetTransformedTypeString(String) GetTransformedTypeString(String) GetTransformedTypeString(String)

傳回指定之型別名稱的轉換版本。Returns the transformed version of the specified type name.

GetType() GetType() GetType() GetType()

取得目前執行個體的 TypeGets the Type of the current instance.

(Inherited from Object)
Init() Init() Init() Init()

ConfigurationElement 物件設定為它的初始狀態。Sets the ConfigurationElement object to its initial state.

InitializeDefault() InitializeDefault() InitializeDefault() InitializeDefault()

用來初始化 ConfigurationElement 物件的預設值集。Used to initialize a default set of values for the ConfigurationElement object.

IsModified() IsModified() IsModified() IsModified()

在衍生類別中進行實作時,指出這個組態項目自上次儲存或載入後是否已修改。Indicates whether this configuration element has been modified since it was last saved or loaded, when implemented in a derived class.

IsReadOnly() IsReadOnly() IsReadOnly() IsReadOnly()

取得值,這個值表示 ConfigurationElement 物件是否唯讀。Gets a value indicating whether the ConfigurationElement object is read-only.

ListErrors(IList) ListErrors(IList) ListErrors(IList) ListErrors(IList)

將這個 ConfigurationElement 物件中和所有子項目中的無效屬性錯誤加入傳遞的清單。Adds the invalid-property errors in this ConfigurationElement object, and in all subelements, to the passed list.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

建立目前 Object 的淺層複本 (Shallow Copy)。Creates a shallow copy of the current Object.

(Inherited from Object)
OnDeserializeUnrecognizedAttribute(String, String) OnDeserializeUnrecognizedAttribute(String, String) OnDeserializeUnrecognizedAttribute(String, String) OnDeserializeUnrecognizedAttribute(String, String)

取得值,指出在還原序列化程序中是否遇到未知的屬性 (Attribute)。Gets a value indicating whether an unknown attribute is encountered during deserialization.

OnDeserializeUnrecognizedElement(String, XmlReader) OnDeserializeUnrecognizedElement(String, XmlReader) OnDeserializeUnrecognizedElement(String, XmlReader) OnDeserializeUnrecognizedElement(String, XmlReader)

取得值,指出在還原序列化程序中是否遇到未知的項目。Gets a value indicating whether an unknown element is encountered during deserialization.

OnRequiredPropertyNotFound(String) OnRequiredPropertyNotFound(String) OnRequiredPropertyNotFound(String) OnRequiredPropertyNotFound(String)

在找不到必要的屬性時擲回例外狀況 (Exception)。Throws an exception when a required property is not found.

PostDeserialize() PostDeserialize() PostDeserialize() PostDeserialize()

還原序列化之後呼叫。Called after deserialization.

PreSerialize(XmlWriter) PreSerialize(XmlWriter) PreSerialize(XmlWriter) PreSerialize(XmlWriter)

序列化之前呼叫。Called before serialization.

Reset(ConfigurationElement) Reset(ConfigurationElement) Reset(ConfigurationElement) Reset(ConfigurationElement)

重設 ConfigurationElement 物件的內部狀態,包括鎖定和屬性的集合。Resets the internal state of the ConfigurationElement object, including the locks and the properties collections.

ResetModified() ResetModified() ResetModified() ResetModified()

在衍生類別中實作時,將 IsModified() 方法的值重設為 falseResets the value of the IsModified() method to false when implemented in a derived class.

SerializeElement(XmlWriter, Boolean) SerializeElement(XmlWriter, Boolean) SerializeElement(XmlWriter, Boolean) SerializeElement(XmlWriter, Boolean)

在衍生類別中實作時,將此組態項目的內容寫入組態檔中。Writes the contents of this configuration element to the configuration file when implemented in a derived class.

SerializeToXmlElement(XmlWriter, String) SerializeToXmlElement(XmlWriter, String) SerializeToXmlElement(XmlWriter, String) SerializeToXmlElement(XmlWriter, String)

在衍生類別中實作時,將此組態項目的外部標記寫入組態檔中。Writes the outer tags of this configuration element to the configuration file when implemented in a derived class.

SetPropertyValue(ConfigurationProperty, Object, Boolean) SetPropertyValue(ConfigurationProperty, Object, Boolean) SetPropertyValue(ConfigurationProperty, Object, Boolean) SetPropertyValue(ConfigurationProperty, Object, Boolean)

將屬性設定為指定的值。Sets a property to the specified value.

SetReadOnly() SetReadOnly() SetReadOnly() SetReadOnly()

設定 IsReadOnly() 物件和所有子項目的 ConfigurationElement 屬性。Sets the IsReadOnly() property for the ConfigurationElement object and all subelements.

ToString() ToString() ToString() ToString()

傳回代表目前物件的字串。Returns a string that represents the current object.

(Inherited from Object)
Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode) Unmerge(ConfigurationElement, ConfigurationElement, ConfigurationSaveMode)

修改 ConfigurationElement 物件,以移除不應該儲存的所有值。Modifies the ConfigurationElement object to remove all values that should not be saved.

適用於

另請參閱