如何使用ConfigurationManager解析app.config?

时间:2010-05-10 16:26:17

标签: c# app-config configurationmanager

我正在使用某种方法来解析我的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的等价物是什么? (因为我只能看到如何获得键而不是节点..)

由于

2 个答案:

答案 0 :(得分:4)

创建一个继承ConfigurationSection的类,比如说MyConfigSection。然后,您可以使用ConfigurationManager.GetSection方法获取MyConfigSection类的实例。 ConfigurationManager将执行所有解析,因此您将拥有一个强类型对象。 Here is an excellent example to follow.

答案 1 :(得分:2)

如果您担心自定义部分使用“配置”部分类创建自己的类。 Here就是使用它的一个例子。