2

app.config ファイルを解析するために特定の方法を使用していました。その後、ConfigurationManager を使用する方が優れていて簡単だと言われました。しかし、問題は、ConfigurationManager でそれを行う方法がわからないことです。

私の元のコードは次のようになりました。

   XmlNode xmlProvidersNode;
    XmlNodeList xmlProvidersList;
    XmlNodeList xmlTaskFactoriesList;

    XmlDocument xmlDoc = new XmlDocument();
    xmlDoc.Load("app.config");
    xmlProvidersNode = xmlDoc.DocumentElement.SelectSingleNode("TaskProviders");
    xmlProvidersList = xmlProvidersNode.SelectNodes("TaskProvider");

    foreach (XmlNode xmlProviderElement in xmlProvidersList)
    {
        if (xmlProviderElement.Attributes.GetNamedItem("Name").Value.Equals(_taskProvider))
        {
            xmlTaskFactoriesList = xmlProviderElement.SelectNodes("TaskTypeFactory");
            foreach (XmlNode xmlTaskFactoryElement in xmlTaskFactoriesList)
            {
                if (xmlTaskFactoryElement.Attributes.GetNamedItem("TaskType").Value.Equals(_taskType))
                {
                    taskTypeFactory = xmlTaskFactoryElement.Attributes.GetNamedItem("Class").Value;
                }
            }
        }
    }

ConfigurationManager を使用した同等の機能は何ですか? (私が見ることができるのは、ノードではなくキーを取得する方法だけだから..)

ありがとう

4

2 に答える 2

4

ConfigurationSectionという名前を継承するクラスを作成しますMyConfigSection。次に、メソッドを使用してクラスConfigurationManager.GetSectionのインスタンスを取得できます。MyConfigSectionがすべてのConfigurationManager解析を行うため、強く型付けされたオブジェクトを使用できます。以下は、従うべき優れた例です。

于 2010-05-10T16:29:40.343 に答える
2

カスタム セクションが気になる場合は、構成セクション クラスを使用して独自のクラスを作成します。これを使用する例を次に示します

于 2010-05-10T16:32:44.453 に答える