草庐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# - 如何强制 Newtonsoft Json 序列化所有属性? (具有 "Specified"属性的奇怪行为)

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

c# - 如何强制缩进 C# 条件指令?

在VisualStudio中编辑->高级->格式化文档后,是否有一个选项可以禁用#if、#endif和其他指令不缩进?谢谢! 最佳答案 看StyleCop.StyleCopanalyzesC#sourcecodetoenforceasetofstyleandconsistencyrules.ItcanberunfrominsideofVisualStudioorintegratedintoanMSBuildproject.StyleCophasalsobeenintegratedintomanythird-partydevelopm

c# - 如何在 C# MVC Controller 操作中将动态对象序列化为 JSON?

我想将动态对象序列化为JSON。我尝试使用ExpandoObject,但结果不是我需要的:publicJsonResultEdit(){dynamico=newExpandoObject();((IDictionary)o)["abc"]="ABC";//oro.abc="ABC";returnJson(o);}我希望JSON看起来像:{"abc":"ABC"}但它看起来像[{"Key":"abc","Value":"ABC"}]显然ExpandoObject不行,但是我可以继承DynamicObject并以某种方式覆盖它的方法来实现我想要的JSON格式吗?

c# - 将 JSON 反序列化为多个属性

我正在针对返回JSON数据的第三方API进行编程,但格式可能有点奇怪。某些属性可以是一个对象(包含一个Id属性),也可以是一个字符串(它是对象的ID)。例如,以下两个都是有效的:{ChildObject:'childobjectkey1'}和{ChildObject:{Id:'childobjectkey1',//(otherproperties)}}我正在尝试使用JSON.net将其反序列化为强类型类,但到目前为止运气不佳。我最好的想法是将它序列化为两个属性,一个是字符串,另一个是对象,并为每个属性使用自定义JsonConverter以允许可变行为:publicabstractcla

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

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

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# - 属性规范中奇怪的歧义(两个 using 指令)

背景在attributespecification,有时有两种有效的方法来编写应用的属性。例如,如果属性类的名称为HorseAttribute,您可以将该属性应用为[HorseAttribute]或只是[Horse]。歧义可以用@解决,例如[@Horse]。以下是一个有效的程序:usingSystem;usingAlpha;usingBeta;namespaceN{[Horse]classC{}}namespaceAlpha{//validnon-abstractattributetypewithaccessibleconstructorclassHorseAttribute:Attr

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

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