我在 web.config 中定义了自己的 <sectionGroup> 和 <section> 元素。
我需要通过自定义 <section> 指定的参数之一是类型。
例如,我目前有
<variable name="stage" value="dev" type="System.String, mscorlib" />
然后在我的实施中ConfigurationElement
我有
[ConfigurationProperty("type", IsRequired = true)]
public Type ValueType
{
get
{
var t = (String) this["type"];
return Type.GetType(t);
}
set
{
this["type"] = value;
}
}
在运行时,这会引发异常
找不到支持“类型”类型的属性“类型”转换为/从字符串转换的转换器。
我尝试过各种各样的事情,例如
- 将属性重命名为
valueType
(以避免与可能的同名预配置属性发生任何冲突) - 简单地将其指定为
"System.String"
- 将属性中的 getter 更改为
return (Type) this["type"];
但例外总是一样的。
有人可以指出我正确的方向吗?