好吧,那么……
<section name="test" type="System.Configuration.NameValueFileSectionHandler" />
<test>
<add key="foo" value="bar" />
</test>
var test = ConfigurationManager.GetSection("test");
到目前为止,一切都很好。调试器显示test
包含一个键,foo
.
但是GetSection
返回object
,所以我们需要一个演员表:
var type = test.GetType();
// FullName: System.Configuration.ReadOnlyNameValueCollection
// Assembly: System
好的,这应该很简单。所以....
using System;
var test = ConfigurationManager
.GetSection("test") as ReadOnlyNameValueCollection;
错误!
The type or namespace ReadOnlyNameValueCollection does not exist in the namespace System.Configuration. Are you missing an assembly reference?
错误... wtf?
使代码正常工作的演员System.Collections.Specialized.NameValueCollection
,但我真的不明白为什么会出错。
在 MSDN 上搜索ReadOnlyNameValueCollection
显示,根本没有关于此类的文档。它似乎不存在。然而,我的代码中有一个这种类型的实例。