很多人都知道,我可以使用 DataContract
属性来标记在WCF服务中序列化为XML的类 .
例如,我可以创建一个 DataContract
:
<DataContract()> Public Class fooClass <Datamember()> Public fooString as String End Class
当我向将接收此DataContract的代码添加服务引用时,我看到设计器生成的类将fooString作为具有支持字段的公共属性 . 我的问题是,为什么设计师使用支持领域?我没有看到任何理由不直接访问fooString .
1 回答
它是MS使用的代码设计"standard"样式 . 并且有充分的理由使用
properties
而不是public fields
. 即使在服务器端,您也将拥有如下数据 Contract :在客户端代理类中,您将它们作为支持字段命名为
idField
,nameField
...所以它没有连接到WCF本身,为什么要使用
properties
而不是public fields
,你可以很容易地找到指导 .