次の方法で共有


ConfigurationElement クラス

定義

構成ファイル内の要素を表します。

public ref class ConfigurationElement
public class ConfigurationElement
type ConfigurationElement = class
Public Class ConfigurationElement
継承
ConfigurationElement
派生

次の例では、 クラスのいくつかのメソッドとプロパティを ConfigurationElement 実装しています。 次の使用例は、 セクションの ConfigurationSection オブジェクトを moduleProvider 取得し、そのセクションから を ConfigurationElementCollection 取得します。 この例では、取得した各 ConfigurationElement コレクションを反復処理します。

[ModuleServiceMethod(PassThrough = true)]
public ArrayList GetElementCollection()
{
    // Use an ArrayList to transfer objects to the client.
    ArrayList arrayOfConfigPropertyBags = new ArrayList();

    ServerManager serverManager = new ServerManager();
    Configuration administrationConfig = serverManager.GetAdministrationConfiguration();
    ConfigurationSection moduleProvidersSection = 
        administrationConfig.GetSection("moduleProviders");
    ConfigurationElementCollection elementCollection = 
        moduleProvidersSection.GetCollection();
    // If there is a configuration element with the name of TestDemo(Modified), delete it.
    ConfigurationElement elementtoremove = null;
    foreach (ConfigurationElement moduleproviderelement in elementCollection)
    {
        if(moduleproviderelement.Attributes["name"].Value.ToString() == "TestDemo(Modified)")
        {
            elementtoremove = moduleproviderelement;
        }
    }
    if (elementtoremove != null)
    {
        elementCollection.Remove(elementtoremove);
    }
    foreach (ConfigurationElement moduleproviderelement in elementCollection)
    {
        PropertyBag elementBag = new PropertyBag();
        elementBag[ConfigurationDemoGlobals.SchemaName] = 
            moduleproviderelement.Schema.Name;
        elementBag[ConfigurationDemoGlobals.ElementTagName] = 
            moduleproviderelement.ElementTagName;
        ArrayList attributeArrayList = new ArrayList();
        // Loop through all attributes in the element attribute list.
        // Get the attribute name and value.
        foreach (ConfigurationAttribute attribute in moduleproviderelement.Attributes)
        {
            PropertyBag attributeBag = new PropertyBag();
            attributeBag[ConfigurationDemoGlobals.AttributeName] = attribute.Name;
            attributeBag[ConfigurationDemoGlobals.AttributeValue] = attribute.Value;
            // Change the value of the provider name "TestDemo" to "TestDemo(Modified)".
            if (attribute.Value.ToString() == "TestDemo")
            {
                // Use any of the following lines to set the attribute value.
                // attribute.Value = "TestDemo(Modified)";
                moduleproviderelement.SetAttributeValue(
                    "name", "TestDemo(Modified)");
                // moduleproviderelement["name"] = "TestDemo(Modified)";
                // Use any of the following lines to retrieve the attribute value.
                // attributeBag[ConfigurationDemoGlobals.AttributeName] = "name";
                attributeBag[ConfigurationDemoGlobals.AttributeName] =
                    moduleproviderelement.GetAttributeValue("name");
                // attributeBag[ConfigurationDemoGlobals.AttributeName] =
                //    moduleproviderelement["name"];
                // Set the element's lockItem attribute.
                moduleproviderelement.SetMetadata("lockItem", true); // persisted in Administration.config          

            }
            attributeArrayList.Add(attributeBag);
        }
        elementBag[ConfigurationDemoGlobals.AttributeArrayList] = attributeArrayList;
        arrayOfConfigPropertyBags.Add(elementBag);
    }
    // Create a new element. It must have a unique name.
    ConfigurationElement newelement;
    bool newelementexists = false;
    foreach (ConfigurationElement element in elementCollection)
    {
        if (element.Attributes["name"].Value.ToString() == "TestDemo")
        {
            newelementexists = true;
        }
    }
    if (!newelementexists)
    {
        newelement = elementCollection.CreateElement("add");
        newelement.Attributes["name"].Value = "TestDemo";
        newelement.Attributes["Type"].Value = "TestDemo.TestDemoModuleProvider, TestDemo, Version=1.0.0.0, Culture=neutral, PublicKeyToken=104f78e73dc54601";
        elementCollection.Add(newelement);
    }
    // CommitChanges to persist the changes to Administration.config.
    serverManager.CommitChanges();
    return arrayOfConfigPropertyBags;
}

注釈

これは、構成セクション、コレクション エントリ、セクション内の入れ子になった要素など、多くの構成エンティティの基本クラスです。

コンストラクター

ConfigurationElement()

ConfigurationElement クラスの新しいインスタンスを初期化します。

プロパティ

Attributes

この要素の属性の一覧を含む構成属性コレクションを取得します。

ChildElements

現在の要素のすべての子要素を取得します。

ElementTagName

構成ファイル内の要素を表します。

IsLocallyStored

構成要素が特定の構成ファイルに格納されているかどうかを示す値を取得します。

Item[String]

指定した名前の属性を取得または設定します。

Methods

構成要素のメソッドのコレクションを取得します。

RawAttributes

構成ファイル内の要素を表します。

Schema

現在の要素のスキーマを取得します。

メソッド

Delete()

構成ファイル内の要素を表します。

GetAttribute(String)

要求された属性を ConfigurationAttribute 表す オブジェクトを返します。

GetAttributeValue(String)

指定した属性の値を返します。

GetChildElement(String)

現在の構成要素の下にあり、指定した名前を持つ子要素を返します。

GetChildElement(String, Type)

現在の構成要素の下にあり、指定した名前と型を持つ子要素を返します。

GetCollection()

現在の構成要素の既定のコレクションを返します。

GetCollection(String)

現在の構成要素に属するすべての構成要素を返します。

GetCollection(String, Type)

指定した名前と型を持ち、現在の構成要素の下にある構成要素を返します。

GetCollection(Type)

指定した型を持ち、現在の構成要素の下にある構成要素を返します。

GetMetadata(String)

要素スキーマからメタデータ値を返します。

SetAttributeValue(String, Object)

指定した属性の値を設定します。

SetMetadata(String, Object)

要素スキーマのメタデータ値を設定します。

適用対象