WCF和[DataMember]属性

时间:2012-12-12 12:36:06

标签: c# wcf

我有以下(缩写)类通过WCF发送到客户端/从客户端接收:

public class Sparetime : ChartConfigurationBase, IChartConfiguration
{
    [DataMember]
    public int SparetimeConfigurationId { get; set; }

    public Single FeederOffRate { get; set; }
}

请注意,第一个属性使用DataMember属性,第二个属性不使用。我是否正确,在进行WCF调用时,只有第一个属性会被序列化并发送给客户端?

1 个答案:

答案 0 :(得分:8)

是的,你是对的,MSDN documentation指定了它:

  

当应用于类型的成员时,指定该成员是   数据合同的一部分,可由序列化   DataContractSerializer的。

您应该在类中添加DataContract属性以使其可序列化:

[DataContract]
public class Sparetime : ChartConfigurationBase, IChartConfiguration
{
}

请注意,FeederOffRate将设置为其默认值(引用类型为null)。