DataContract& DataMember属性 - 它们如何影响类型

时间:2009-11-27 22:06:04

标签: wcf datacontract

没有DataContract属性的类之间有什么区别:

public class BankOperationResult
{        
    public int CurrentAmount { get; set; }
    public bool Success { get; set; }
}

与DataContract属性相同的类:

[DataContract]
public class BankOperationResult
{        
    [DataMember]
    public int CurrentAmount { get; set; }
    [DataMember]
    public bool Success { get; set; }
}

我的意思是,WCF在编码等时会以不同的方式处理这两种类型吗?

有或没有这些属性我的WCF服务工作......

谢谢,Pawel

1 个答案:

答案 0 :(得分:10)

在.NET 3.5 SP1之前,如果未使用DataMember属性标记属性,则它不会在WSDL中公开,也不会序列化。从.NET 3.5 SP1开始,DataContractSerializer将自动包含所有公共属性,因此您不再需要使用此属性来装饰它们。