- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近一直在使用一些可序列化的类,它们通常看起来像这样:
[DataContract]
public class Foo
{
[DataMember(Order = 0)]
public string Bar1
{
get;
set;
}
[DataMember(Order = 1)]
public string Bar2
{
get;
set;
}
}
我想知道,有什么可能的应用程序可以为数据成员指定顺序?准则here指定它可能“有时可能需要更改此顺序”。但不要给出任何时间或原因的例子。您是否有任何示例说明何时或为何需要这样做?
在我的应用程序中,我只是序列化这些类型的这些对象并将它们保存到一个文件中。在这里指定一个“订单”是否有任何值(value),或者它只是添加了其他东西来维护?如果我简单地从每个数据成员中删除“订单”,我会遇到任何问题吗?
最佳答案
顺序
指定数据成员序列化到对象中的顺序,否则它们将按字母顺序排列。
In some applications, it is useful to know the order in which data from the various data members is sent or is expected to be received (such as the order in which data appears in the serialized XML).
当您向具有预定义对象结构的客户端发送响应时,您希望对数据成员进行排序的场景之一。
引用这个question例如。
此外,有时您可能有兴趣首先显示 ID 字段(或类似字段),然后显示所有其他字段,以使原始 xml 看起来对最终用户友好。
是的,如果您不提及订单,您将不会收到任何错误。
引用文档 here
关于c# - 为什么要在 "Order"上指定 "DataMember"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45978159/
我有一个 WCF 服务,想忽略序列化中的某些部分。我怎么做?我使用 IgnoreDatamember() 进行了测试,但它不起作用。 [DataContract(Name = "M")] public
我有一个 WCF 服务,想忽略序列化中的某些部分。我怎么做?我使用 IgnoreDatamember() 进行了测试,但它不起作用。 [DataContract(Name = "M")] public
我们有一个遗留系统,需要以最非结构化的格式馈送(XML)数据。 .NET DataContractSerializer甚至可能进行以下操作? 鉴于以下DataContracts [Collection
我应该以何种方式使用 DataMemeber 属性? 我. [DataMember] internal protected string _FirstName=""; [DataMember] p
我有一个可以接受一个字符串的 .Net Web 服务函数。 然后该函数会将该字符串序列化为 JSON,但我只想在它的值不是“”时序列化它。 我找到了这些说明: http://msdn.microsof
我有一个现有的 WCF REST/JSON 服务,它返回不同类型数据的列表。我想向每个响应添加一个代表修订号的属性。 假设我有一个“汽车”类 [DataContract] public class C
我最近一直在使用一些可序列化的类,它们通常看起来像这样: [DataContract] public class Foo { [DataMember(Order = 0)] publi
我们必须实现一个提供的外部 API。 此 API 无法更改。 对于这个 API,交换 SOAP 消息,其中之一处理错误异常是这样的: 0 虽然我们可以使用其他框架(例如 asmx)来实现这
我有一个带有 DataMember 属性的基类。我还有一个派生类,其中包含 DataMember 属性。在我的 WCF 项目中,我正在返回派生类。有没有办法阻止我的基类中的成员序列化?这是一些示例代码
我有一个可用的 WCF 服务,它使用 JSON 作为它的 RequestFormat 和 ResponseFormat。 [ServiceContract] public interface
在 WCF 中,您可以使用 [DataContract] 定义契约(Contract)。和 [DataMember]属性,像这样: [DataContract] public class Sample
在wcf中,在属性上应用DataMember特性有什么区别 private int m_SomeValue; [DataMember] public int SomeValue { get {.
我有一个服务器端类,我通过 [DataContract] 在客户端上提供该类。这个类有一个只读字段,我想通过属性提供该字段。但是,我无法这样做,因为似乎不允许我在没有 get 和 set 的情况下添加
我有以下内容: [DataContract] public class Foo { [DataMember(EmitDefaultValue = true) public bool B
请参阅下面的代码: Test(); function Test() { alert("got here
当使用 DataContract 序列化程序时,它无法反序列化 Id 值,如下例所示: using System; using System.Runtime.Serialization; using
我将 WCF 服务公开给多个客户端。在某些客户端数据成员名称中,大小写不正确。根据套管标准,我的类属性具有无效的属性名称,例如 public class TransactionParamter {
我的 DataContract 类中有以下两个公共(public)属性。 我想在客户端使用它。但是我不想通过服务返回这个。 MyDateString 不需要 DataMember 属性吗? [
我在 WCF 服务中有以下代码: [DataContract] [KnownType(typeof(Bitmap))] [KnownType(typeof(Image))] public class
以下数据契约(Contract): [DataContract(Namespace = "http://namespace", Name = "Blarg")] public clas
我是一名优秀的程序员,十分优秀!