c# - 如何使用 bool 类型获取 DataMemberAttribute

标签 c# wcf-client wcf-rest

我有一个简单的测试应用程序,它从休息接口(interface)中提取一个 xml 文档。数据元素有几个字符串字段和几个 bool 字段。我创建了一个简单的实体类并在其上放置了一个 DataContractAttribute,然后将 DataMemberAttributes 添加到每个数据成员。然后我使用 HttpResponseMessage.Content.ReadAsDataContract() 来解析响应。所有字符串类型都很好,但我所有的 bool 类型都是假的(而且它们不是真的假)。 xml 元素类似于:

<is-enabled type="boolean">true</is-enabled>

然后在我的类型类中我有类似的东西:

[DataMember(Name="is-enabled")]
public bool isEnabled
{
    get
    {
        return this.isEnabledField;
    }
    set
    {
        this.isEnabledField = value;
    }
    }

如何正确获取 bool 值?

最佳答案

信不信由你,DataContractSerializer 对被反序列化的 XML 文档中元素的顺序很敏感。我敢打赌,您需要设置 DataMemberAttribute 的 Order 属性,以匹配其父元素的其他子元素中“已启用”的实际位置。

关于c# - 如何使用 bool 类型获取 DataMemberAttribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1591476/

相关文章:

c# - WCF 客户端错误处理

wcf - 如何为 WCF 客户端指定备用配置文件?

c# - 如何在 WCF Rest 服务中将类对象作为参数传递

c# - 是否有针对数据类型字符串的 native 拼写检查方法?

c# - 当一个程序被称为依赖于机器时——这是什么意思?

c# - WCF 客户端连接问题

wcf - 如何将裸结果返回给 WCF 客户端

c# - 在负载平衡情况下使用 WCF 4.5 RemoteEndpointMessageProperty 获取客户端 IP 地址

C# 性能——我应该用 C++ 编写计算量大的方法吗?

c# - 在 C# 中检查集合内部的类型