草庐IT

c# - 序列化 XAML 的 ConcurrentBag

在我的代码中,我有一个ConcurrentBag.我正在尝试弄清楚如何序列化它们。当然,我可以遍历它或使用提供者模型类将其打包,但我想知道是否已经完成了。Point3DCollections本身可能非常大,可以压缩以加快磁盘读写速度,但我为此所需的响应时间主要在用户界面范围内。换句话说,出于性能原因,我更喜欢二进制格式而不是XAML文本格式。(有一个很好的XAML文本序列化器,它是Helix3DCodeProject的一部分,但它比我想要的要慢。)这是我要推出自己的序列化程序的用例,还是已经为此类数据打包的东西? 最佳答案 下面是一

c# - 序列化数据成员(名称)覆盖问题

我正在使用DataContractJsonSerializer,但DataMemberName有问题。我做了一个基类和几个派生类。我需要派生类,因为我有不同的json字符串。我想反序列化json字符串,因此数据成员需要不同的名称。我尝试更改DataMember名称,如下例所示:基类:[DataContract]publicabstractclassBaseClass{[DataMember]publicvirtualstringFirstMethod{get;protectedset;}}派生类:[DataContract][KnownType(typeof(BaseAccess))]

c# - 无法使用 Json.NET 反序列化具有多个构造函数的类

这个问题在这里已经有了答案:JSON.net:howtodeserializewithoutusingthedefaultconstructor?(6个答案)关闭6年前。我有一个我不能用多个构造函数控制的类型,等同于这个:publicclassMyClass{privatereadonlystring_property;privateMyClass(){Console.WriteLine("Wedon'twantthisonetobecalled.");}publicMyClass(stringproperty){_property=property;}publicMyClass(ob

c# - 如何强制 Newtonsoft Json 序列化所有属性? (具有 "Specified"属性的奇怪行为)

各位程序员,我在Newtonsoft.Json中遇到了一个奇怪的行为。当我尝试序列化一个如下所示的对象时:publicclassDMSDocWorkflowI{[JsonProperty("DMSDocWorkflowIResult")]publicboolDMSDocWorkflowIResult{get;set;}[JsonProperty("DMSDocWorkflowIResultSpecified")]publicboolDMSDocWorkflowIResultSpecified{get;set;}}使用这个没有自定义转换器/绑定(bind)器/契约解析器的简单调用:var

c# - WCF 反序列化中的 XmlException : "Name cannot begin with ' <'" - in automatic property backing fields

我今天开始在WCF反序列化中遇到错误-代码一直没有改变并且工作了几个月。问题是我正在获取运行时XmlException说“名称不能以‘k_BackingField,这是XmlException的来源。我在网上看到了其他一些引用资料,其中人们接受的解决方案是“我更改了我的代码以不使用自动属性”,这对我来说是不能接受的,因为我需要更改100个对象,(其中有1000个属性)。此外,当我上周运行这段相同的代码时,它运行良好,似乎并没有影响所有序列化的DTO,只有一些。更令人沮丧的是,它似乎有点断断续续。今天早上偶尔会抛出异常...!问题;为什么在未更改的代码和未更改的框架源中突然出现此问题?如

c# - 如何从 [Serializable] INotifyPropertyChanged 实现者中排除不可序列化的观察者?

我有将近一百个这样的实体类:[Serializable]publicclassSampleEntity:INotifyPropertyChanged{privatestringname;publicstringName{get{returnthis.name;}set{this.name=value;FirePropertyChanged("Name");}}[field:NonSerialized]publiceventPropertyChangedEventHandlerPropertyChanged;privatevoidFirePropertyChanged(stringpro

c# - 使用 XmlSerializer 反序列化 List<int> 导致额外的项目

我注意到XmlSerializer和通用列表(特别是List)有一个奇怪的行为。我想知道是否有人以前见过这个或知道发生了什么。看起来序列化工作正常,但反序列化想要向列表中添加额外的项目。下面的代码演示了这个问题。可序列化类:publicclassListTest{publicint[]Array{get;set;}publicListList{get;set;}publicListTest(){Array=new[]{1,2,3,4};List=newList(Array);}}测试代码:ListTestlistTest=newListTest();Debug.WriteLine("I

c# - 包含循环,如果引用跟踪被禁用,则无法序列化,json.net 和 webapi

我收到错误:Objectgraphfortype'System.Collections.Generic.List`1[[Proj.Model.Prom,Proj.Model,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null]]'containscyclesandcannotbeserializedifreferencetrackingisdisabled.阅读有关内容,似乎是序列化程序,但Json.Net声称是解决方案,我已经阅读了WebApi和Framework4.5默认情况下具有它。那么它是默认出现的吗?如果是这样,为什么我仍然

c# - 使用自动修剪字符串反序列化 json

我使用Newtonsoft.Json库有没有办法在反序列化期间从任何字符串数据中修剪空格?classProgram{classPerson{[JsonProperty("name")]publicstringName;}staticvoidMain(string[]args){varp=JsonConvert.DeserializeObject(@"{name:""John""}");Console.WriteLine("Nameis:\"{0}\"",p.Name);}}添加:最后,我得到了自定义转换器的解决方案。不好,但比使用Trim()的属性更好。如果有人有任何想法如何以更自然的

c# - 不使用 XmlInclude 进行序列化

我正在使用.NET序列化反序列化名为Method的类。Method包含实现IAction的对象列表。我最初使用[XmlInclude]属性指定实现IAction的所有类。但是现在,我想更改我的程序以加载目录中的所有dll,并删除实现IAction的类。然后用户可以反序列化包含他们实现IAction的操作的文件。我不再控制实现IAction的类,因此我不能使用[XmlInclude].有没有办法在运行时设置这个属性?或者为实现类设置了类似的属性?publicclassMethod{publicListActions=newList();}publicinterfaceIAction{vo