有没有办法写一些ConfigurationValidatorAttribute
或以其他方式允许两者Prop1
都Prop2
存在或都不存在?
已编辑
在下面的配置文件中,当我尝试获取时,Domains
我想获取运行时异常,因为domain3
元素必须同时具有Prop1
或Prop2
不具有它们,但不能仅具有其中一个!
就像IsRequired
在运行时检查并在元素没有Name
属性时抛出错误一样。
<MySection>
<Domains>
<Domain Name="domain1" Prop1="1" Prop2="4" />
<Domain Name="domain2" />
<Domain Name="domain3" Prop1="1" />
</Domains>
</MySection>
public class ConfigElement : ConfigurationElement
{
[ConfigurationProperty("Name", IsRequired = true)]
public string Name
{
get { return (string)this["Name"]; }
set { this["Name"] = value; }
}
[ConfigurationProperty("Prop1")]
public int Prop1
{
get { return (int)this["Prop1"]; }
set { this["Prop1"] = value; }
}
[ConfigurationProperty("Prop2")]
public int Prop2
{
get { return (int)this["Prop2"]; }
set { this["Prop2"] = value; }
}
}