首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF DataContract DataMember order?

WCF DataContract DataMember order?
EN

Stack Overflow用户
提问于 2010-09-29 03:48:02
回答 1查看 20K关注 0票数 23

是根据按字母顺序创建的DataContract创建的xml。我有一个定义为: DataContract类:

代码语言:javascript
复制
[DataContract(Name = "User", Namespace = "")]
public class User
{
    [DataMember]
    public string FirstName { get; set; }
    [DataMember]
    public string LastName { get; set; }
    [DataMember]
    public string Email { get; set; }
    [DataMember]
    public string Password { get; set; }

}

当我完成以下帖子时:

代码语言:javascript
复制
<User>
   <FirstName>abc</FirstName>
   <LastName>123</LastName>
   <Email>email@email.com</Email>
   <Password>pass</Password>
</User>

当我在发布后执行GET并以JSON形式返回结果时,电子邮件为空,但如果我将xml发布为:

代码语言:javascript
复制
 <User>
   <Email>email@email.com</Email>
   <FirstName>abc</FirstName>
   <LastName>123</LastName>
   <Password>pass</Password>
 </User>

当我执行GET并将其作为JSON返回时,电子邮件不再为空。它为什么要这么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-09-29 04:04:52

使用DataMemberAttribute类中的Order参数来修饰它:

代码语言:javascript
复制
[DataMember(Order = index)]

序列化程序中的反射器按字母顺序排列。除非像这样进行装饰:

代码语言:javascript
复制
[DataMember(Order = 0)]
public string FirstName { get; set; }
[DataMember(Order = 1)]
public string LastName { get; set; }
[DataMember(Order = 2)]
public string Email { get; set; }
[DataMember(Order = 3)]
public string Password { get; set; }

Read more here...

票数 53
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3816478

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档