XSD.exe 自动在关联属性的 setter 中设置生成的指定字段
Posted
技术标签:
【中文标题】XSD.exe 自动在关联属性的 setter 中设置生成的指定字段【英文标题】:XSD.exe automatically set generated specified field in associated property's setter 【发布时间】:2016-04-03 23:30:05 【问题描述】:有没有办法让 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;
(注意在关联属性的设置器中添加了this.shippedDateFieldSpecified = true;
。
我在帮助文档中没有看到任何内容。谢谢!
【问题讨论】:
您希望 XSD 如何自动知道 shippingDateFieldSpecified 与 shippingDateField 有任何关系? 因为指定的字段是由 XSD 生成的,而不是作为方便的东西实际上在模式中。 【参考方案1】:完全需要相同的。有 Specified 属性,但它只会使可空道具的工作复杂化。是的,如果可空元素被更改,指定的道具应该自动设置为 true。我使用大型模式 - 不是小简单,不想总是改变它们。这个问题出在 xsd.exe 年。
【讨论】:
以上是关于XSD.exe 自动在关联属性的 setter 中设置生成的指定字段的主要内容,如果未能解决你的问题,请参考以下文章
Kotlin类与对象 ① ( 成员属性 | Kotlin 自动为成员字段生成 getter 和 setter 方法 | 手动设置成员的 getter 和 setter 方法 | 计算属性 )
Kotlin类的初始化 ① ( 成员属性 | Kotlin 自动为成员字段生成 getter 和 setter 方法 | 手动设置成员的 getter 和 setter 方法 | 计算属性 )