有没有办法让XSD.exe自动在相关属性的setter中设置生成的setter字段?
例如,采用以下CustomersOrders.xsd架构。如果使用xsd CustomersOrders.xsd /c /n:mynamespace
命令生成C#类文件,则结果类的一部分如下:
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public System.DateTime ShippedDate {
get {
return this.shippedDateField;
}
set {
this.shippedDateField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlIgnoreAttribute()]
public bool ShippedDateSpecified {
get {
return this.shippedDateFieldSpecified;
}
set {
this.shippedDateFieldSpecified = value;
}
}
我想要的是以下
/// <remarks/>
[System.Xml.Serialization.XmlAttributeAttribute()]
public System.DateTime ShippedDate {
get {
return this.shippedDateField;
}
set {
this.shippedDateField = value;
this.shippedDateFieldSpecified = true;
}
}
(注意在相关属性的setter中添加了this.shippedDateFieldSpecified = true;
。
我没有在帮助文档中看到任何内容。谢谢!
答案 0 :(得分:0)
完全一样。有Specified属性,但它会使可空道具复杂化。是的,如果对可为空的元素进行了跟踪,则应该将指定的prop自动设置为true。我使用大型架构-不小的简单,不想总是更改它们。 xsd.exe年出现此问题。