我知道我可以使属性可以为空或者使用名为[PropertyName] Specified的bool来确定属性是否被序列化为XML,但我希望自动生成的示例在一个方法的定义中隐藏这些元素,并且把它们展示在另一个这样,用户就知道他们是否会在那里。
例如,
...
<Object>
<Column Value="int" xsi:nil="true" />
</Object>
...
...
<Object>
<Column Value="int" xsi:nil="true" />
</Object>
...
...
<Object>
<Column Value="int" />
</Object>
...
...
<Object />
...
这是否可以在不创建不同类的情况下实现?
答案 0 :(得分:0)
不,不是。您正在序列化类的实例。这与网络方法无关。
Web服务基础架构不适合您所需的内容。在WSDL中,操作使用消息,其中 。除了一个元素(列)之外,为了使两个操作相同,它们必须使用引用不同类型的消息。
或者,你可以让你的一个方法接受一个没有额外列的类的参数,让另一个使用相同的参数,加上一个单独的参数,它只是额外的列。
答案 1 :(得分:0)
然后,最好的方法就是让一个类继承另一个类并添加Column属性。