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 回答