草庐IT

Serialization

全部标签

c# - 如果基类被标记为可序列化,所有子类也被标记了吗?

我有一个完整的实体类列表,我需要将其设置为可序列化(由于在SQL中存储session状态,但这是另一回事)。我已经添加了[Serializable]属性,一切似乎都很好。我所有的实体类都继承自同一个基类。如果我将基类标记为可序列化,这是否意味着所有子类也都标记为可序列化?谢谢 最佳答案 不,属性不被继承。当您扩展类时,可能会添加本质上不可序列化的功能,因此.NETFramework不能为您假设扩展可序列化基类的所有内容也是可序列化的。这就是为什么您必须在每个类上分别显式声明[Serializable]属性。

c# - 如何在 C# 中反序列化 XML 文档的一部分

这是我试图解决的问题的一个虚构示例。如果我在C#中工作,并且有这样的XML:1020NissanSentra1010ToyotaCorollaAcmeSales1000Dollars...andon...andon....SalesPerson中的XML可能非常长,大小达数兆字节。我想反序列化标签,但不反序列化SalesPersonXML元素,而是将其保留为原始形式“以备后用”。本质上,我希望能够将其用作XML的对象表示。[System.Xml.Serialization.XmlRootAttribute("Cars",Namespace="",IsNullable=false)]pu

c# - 如何在 C# 中反序列化 XML 文档的一部分

这是我试图解决的问题的一个虚构示例。如果我在C#中工作,并且有这样的XML:1020NissanSentra1010ToyotaCorollaAcmeSales1000Dollars...andon...andon....SalesPerson中的XML可能非常长,大小达数兆字节。我想反序列化标签,但不反序列化SalesPersonXML元素,而是将其保留为原始形式“以备后用”。本质上,我希望能够将其用作XML的对象表示。[System.Xml.Serialization.XmlRootAttribute("Cars",Namespace="",IsNullable=false)]pu

c# - 在 WCF 中使用 [DataContract] 而不是 [Serializable] 有什么优势

使用DataContract有什么好处? 最佳答案 看到一个很棒的comparisonofXmlSerializerandDataContractSerializer在DanRigsby的博客上。一些支持DataContractSerializer的观点:比XmlSerializer快10%将序列化任何用[DataMember]装饰的东西——即使它不是public可见的不会序列化任何内容除非您明确告诉它(“选择加入”)您可以使用[DataMember]上的Order=属性定义元素序列化的顺序不需要反序列化的无参数构造函数

c# - 在 WCF 中使用 [DataContract] 而不是 [Serializable] 有什么优势

使用DataContract有什么好处? 最佳答案 看到一个很棒的comparisonofXmlSerializerandDataContractSerializer在DanRigsby的博客上。一些支持DataContractSerializer的观点:比XmlSerializer快10%将序列化任何用[DataMember]装饰的东西——即使它不是public可见的不会序列化任何内容除非您明确告诉它(“选择加入”)您可以使用[DataMember]上的Order=属性定义元素序列化的顺序不需要反序列化的无参数构造函数

c# - C#中的 "default"序列化是否序列化静态字段?

“默认”是指仅在类上使用[Serializable]属性。我想说不,静态字段不会被序列化,但我不太确定。 最佳答案 没有;静态字段未序列化。.Netserialization序列化实例;静态字段不属于实例。 关于c#-C#中的"default"序列化是否序列化静态字段?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3903079/

c# - C#中的 "default"序列化是否序列化静态字段?

“默认”是指仅在类上使用[Serializable]属性。我想说不,静态字段不会被序列化,但我不太确定。 最佳答案 没有;静态字段未序列化。.Netserialization序列化实例;静态字段不属于实例。 关于c#-C#中的"default"序列化是否序列化静态字段?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3903079/

c# - protobuf-net:序列化一个空列表

我们在序列化一个空列表时遇到了一些问题。这里有一些使用CF2.0的.NET代码//Generatingtheprotobuf-msgProtoBufMessagemsg=newProtoBufMessage();msg.list=newList();//SerializingandsendingthrowHTTP-POSTMemoryStreamstream=newMemoryStream();Serializer.Serialize(stream,msg);byte[]bytes=stream.ToArray();HttpWebRequestrequest=createRequest

c# - protobuf-net:序列化一个空列表

我们在序列化一个空列表时遇到了一些问题。这里有一些使用CF2.0的.NET代码//Generatingtheprotobuf-msgProtoBufMessagemsg=newProtoBufMessage();msg.list=newList();//SerializingandsendingthrowHTTP-POSTMemoryStreamstream=newMemoryStream();Serializer.Serialize(stream,msg);byte[]bytes=stream.ToArray();HttpWebRequestrequest=createRequest

c# - System.Version 未序列化

我有一个带有System.Version属性的类,它看起来像这样:版本build:111专业:1主要修订:0未成年人:1次要修订:10修订:10当我序列化类时,version总是空的:客户端类如下所示:[Serializable]publicclassClient{publicstringDescription;publicstringDirectory;publicDateTimeReleaseDate;publicVersionVersion;} 最佳答案 System.Version不可序列化,如果您查看it'spropert