WCF 中 DataMember 的名称属性看起来不起作用

Name attribute of DataMember in WCF looks like not working

我向多个客户端公开了 WCF 服务。在某些客户端数据成员名称中,大小写不正确。根据大小写标准,我的 Class 属性有无效的 属性 名称,例如

public class TransactionParamter
{
    [DataMember]
    public string orderId;
    [DataMember]
    public string orderDetails;
    [DataMember]
    public double orderSumTotal;
}

我试过改成

public class TransactionParamter
{
    [DataMember(Name= "orderId")]
    public string OrderId;
    [DataMember(Name= "orderDetails")]
    public string OrderDetails;
    [DataMember(Name= "orderSumTotal")]
    public double OrderSumTotal;
}

但是当数据成员 Name 属性 看起来不工作时。 我已经尝试过 WCF 测试客户端,并且在使用 WCF 参考时它显示了 OrderId 和 OrderDetails 之类的属性,而不是我在名称属性中声明的那个。 请帮我更正一下

我相信你忘了用 DataContract 装饰你的 class。您需要它才能使自定义数据成员名称起作用。

[DataContract(Name="transactionParamter")]
public class TransactionParamter
    {
        [DataMember(Name= "orderId")]
        public string OrderId;
        [DataMember(Name= "orderDetails")]
        public string OrderDetails;
        [DataMember(Name= "orderSumTotal")]
        public double OrderSumTotal;
}