如果我添加了一个数据成员,它将通过网络发送到客户端。添加Isrequired的好处是什么?请解释一下
发布于 2012-10-30 19:10:46
这意味着当您在网络上传递对象的副本时,您应用它的数据成员必须存在。
所以,
[DataContract]
public class MyObject
{
[DataMember]
public int numberTest;
[DataMember(IsRequired=true)]
public int numberMustBeThere;
}如果你想要上面的东西:
<MyObject>
<numberTest>123</numberTest>
</MyObject>它将失败,因为它声明numberMustBeThere应该存在
但是,如果您发送这两个文件中的任何一个,就可以了,因为缺省值为false (因此不需要numberTest )
<MyObject>
<numberMustBeThere>123</numberMustBeThere>
</MyObject>
<MyObject>
<numberTest>123</numberTest>
<numberMustBeThere>123</numberMustBeThere>
</MyObject>希望这能有所帮助
发布于 2012-10-30 19:04:20
基本上,当您声明DataMember IsRequired时,您是在说,如果未设置数据契约的字段,则应在客户机上引发异常。这对于在数据契约中指定必填字段很有用。
我希望它能帮上忙。
你好,罗德里戈
https://stackoverflow.com/questions/13137541
复制相似问题