1

如果要添加数据成员,它将通过线路发送到客户端。添加 Isrequired 有什么好处?请解释

4

2 回答 2

3

这意味着当您通过网络传递对象的副本时,您应用它的数据成员必须存在。

所以,

[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-30T11:10:45.527 回答
1

基本上,当您声明 DataMember IsRequired 时,您是说如果未设置数据合同的字段,则应在客户端上引发异常。这对于在数据合同中指定必填字段很有用。

我希望它有所帮助。

问候,罗德里戈

于 2012-10-30T11:04:19.553 回答