首页 文章

为什么Visual Studio使用WCF服务引用的支持字段?

提问于
浏览
1

很多人都知道,我可以使用 DataContract 属性来标记在WCF服务中序列化为XML的类 .

例如,我可以创建一个 DataContract

<DataContract()> Public Class fooClass <Datamember()> Public fooString as String End Class

当我向将接收此DataContract的代码添加服务引用时,我看到设计器生成的类将fooString作为具有支持字段的公共属性 . 我的问题是,为什么设计师使用支持领域?我没有看到任何理由不直接访问fooString .

1 回答

  • 4

    它是MS使用的代码设计"standard"样式 . 并且有充分的理由使用 properties 而不是 public fields . 即使在服务器端,您也将拥有如下数据 Contract :

    [DataContract]
    class MyComplexType
    {
       [DataMember]
       public int id;
       [DataMember]
       public string name;  
    }
    

    在客户端代理类中,您将它们作为支持字段命名为 idFieldnameField ...

    所以它没有连接到WCF本身,为什么要使用 properties 而不是 public fields ,你可以很容易地找到指导 .

相关问题