草庐IT

序列号

全部标签

c# - json.net 不序列化派生类的属性

我正在使用JSON.NET6.0.1。当我使用SerializeObject方法序列化派生类的对象时,它仅序列化基类的属性。这是代码片段:stringv=JsonConvert.SerializeObject(service,Formatting.Indented,newJsonSerializerSettings(){TypeNameHandling=TypeNameHandling.All});基类:[DataContract]publicabstractpartialclassDataEntity:IDataEntity,INotifyPropertyChanging,INoti

c# - C# 中的排序列表<String>

如何根据项目的整数值对列表进行排序列表是这样的"1""5""3""6""11""9""NUM1""NUM0"结果应该是这样的"1""3""5""6""9""11""NUM0""NUM1"是否有使用LINQ或Lambda表达式执行此操作的想法?提前致谢 最佳答案 这称为“自然排序顺序”,通常用于对您拥有的项目进行排序,例如文件名等。这是一个天真的(从某种意义上说,它可能有很多unicode问题)实现似乎可以解决问题:您可以将下面的代码复制到LINQPad中执行并测试它。基本上,比较算法将识别字符串中的数字,并通过用前导零填充最短的数字

c# - 更改 WCF 中的默认日期序列化

有没有办法更改WCF中DateTime的默认JSON序列化/反序列化?目前,DateTime被序列化为/Date(1372252162657+0200)/格式,这应该没问题,但当我的服务器不在UTC时(我不能改变)。此服务正在处理的所有日期/时间数据均采用UTC格式。当服务器处于UTC时,一切正常。但是,staging/prod环境设置为GMT+1(巴黎)并且序列化程序假定日期/时间为GMT+1,完全忽略属性Kind。因此,正如您所期望的那样,调用DateTime.SetKind()并将其设置为UTC将不起作用。实际上,序列化时间延迟了一个小时。我可以进行双向日期对话(它在反序列化时也

c# - 初始化 ninject 时“序列不包含任何元素”异常

我遇到了Ninject的问题,这是我以前从未见过的,也不知道如何解决。我正在为MVC5使用MVCNuGet包。在我的NinjectWebCommon.cs中,有如下方法:publicstaticvoidStart(){DynamicModuleUtility.RegisterModule(typeof(OnePerRequestHttpModule));DynamicModuleUtility.RegisterModule(typeof(NinjectHttpModule));bootstrapper.Initialize(CreateKernel);}然而,它在尝试执行最后一行时失败

c# - 如何忽略二进制序列化的事件类成员?

我需要避免序列化Event类成员,因为当事件由未标记为可序列化的对象处理时,序列化将失败。我尝试在Event类成员上使用NonSerialized属性,但编译失败。这行代码:PublicEventPropertyValueChanged()产生以下错误:Attribute'NonSerializedAttribute'cannotbeappliedto'PropertyValueChanged'becausetheattributeisnotvalidonthisdeclarationtype.PublicEventPropertyValueChanged()'compilesbutn

c# - 将 json 反序列化为具有默认私有(private)构造函数的类的 C# 对象

我需要为后续类(class)反序列化json。publicclassTest{publicstringProperty{get;set;}privateTest(){//NOTHINGTOINITIALIZE}publicTest(stringprop){Property=prop;}}我可以像这样创建一个测试实例varinstance=newTest("Instance");考虑我的json类似"{"Property":"Instance"}"我应该如何创建Test类的对象,因为我的默认构造函数是私有(private)的,并且我正在获取Property为NULL的对象我正在使用New

c# - 如何(xml)序列化一个uri

我有一个标记为可序列化的类,它具有Uri属性。如何在不创建字符串类型属性的情况下使Uri序列化/反序列化? 最佳答案 使用xml序列化器,你是有限的-它不像(比如说)一些binaryformatter/ISerializable选项那样通用。一个常见的技巧是拥有第二个序列化属性:[XmlIgnore]publicUriUri{get;set;}[XmlAttribute("uri")][Browsable(false),EditorBrowsable(EditorBrowsableState.Never)]publicstringU

c# - 如何在不将类标记为可序列化的情况下对其进行深度复制

给定以下类:classA{publicListListB;//etc...}其中B是另一个可能继承/包含其他一些类的类。鉴于这种情况:A是一个大类,包含很多引用类型我无法将B标记为[Serializable],因为我无权访问B的源代码以下执行深度复制的方法不起作用:我不能使用ICloneable或MemberwiseClone因为类A包含许多引用类型我无法为A编写复制构造函数,因为该类很大并且不断被添加,并且包含无法深度复制的类(如B)我无法使用序列化,因为我无法将包含的类(如B,其中没有可用的源代码)标记为[Serializable]如何深度复制类A? 最

c# - JSON.NET DataContractJsonSerializer 和 Newtonsoft JSON 序列化程序有什么区别

谁能帮帮我。内置的JSON.NETDataContractJsonSerializer和NewtonsoftJSON序列化器有什么区别?我可以将一个或另一个与WebAPI一起使用是否正确,我为什么要选择一个? 最佳答案 你可以在这里找到性能比较(来源:newtonking.com)这是功能比较,http://james.newtonking.com/projects/json/help/index.html?topic=html/JsonNetVsDotNetSerializers.htm

c# - 将 List<KeyValuePair<string, string>> 序列化为 JSON

我是JSON的新手,请帮忙!我正在尝试序列化List>作为JSON目前:[{"Key":"MyKey1","Value":"MyValue1"},{"Key":"MyKey2","Value":"MyValue2"}]预期:[{"MyKey1":"MyValue1"},{"MyKey2":"MyValue2"}]我引用了this中的一些示例和this.这是我的KeyValuePairJsonConverter:JsonConverterpublicclassKeyValuePairJsonConverter:JsonConverter{publicoverridevoidWriteJs