草庐IT

c# - 更改用于 XML 序列化的 XmlElement 名称

我们有以下代码:[Serializable]publicclassClass1{[XmlElement("description")]publicstringDescription{get;set;}}classProgram{staticvoidMain(string[]args){varlist=newList{newClass1(){Description="Desc1"},newClass1(){Description="Desc2"}};varserializer=newXmlSerializer(typeof(List),newXmlRootAttribute("root"

c# - BinaryFormatter.ILMerge 后反序列化 "unable to find assembly"

我有一个带有引用dll的C#解决方案(也是具有相同.Net版本的C#)。当我构建解决方案并运行生成的exe时,没有合并exe和引用的dll,一切正常。现在我想将它们合并到一个exe中。我运行ILMerge,一切似乎都正常。我尝试执行exe,它似乎运行良好,直到它尝试反序列化在引用的dll中定义的对象。using(Streamfstream=newFileStream(file_path,FileMode.Open)){BinaryFormatterbf=newBinaryFormatter();returnbf.Deserialize(fstream)asControlledRuleC

c# - 使用 restsharp 序列化对象并将其传递给 WebApi 而不是序列化列表

我有一个看起来像的View模型。publicclassStoreItemViewModel{publicGuidItemId{get;set;}publicListStoreIds{get;set;}[Required]publicstringDescription{get;set;}//[Required]//[DataMember(IsRequired=true)]publicintItemTypeId{get;set;}}我有一个使用RestSharp的小helper。publicstaticIRestResponseCreate(objectobjectToUpdate,str

c# - WCF 绑定(bind)使用的序列化的性能测试

我有以下对象:publicpartialclassGame{publicboolFinished{get;set;}publicGuidGameGUID{get;set;}publiclongGameID{get;set;}publicboolGameSetup{get;set;}publicNullableMaximumCardsInDeck{get;set;}publicPlayerPlayer{get;set;}publicPlayerPlayer1{get;set;}publicboolPlayer1Connected{get;set;}publicboolPlayer1Env

c# - 使用 XmlSerializer 反序列化随机/未知类型

这个问题在这里已经有了答案:DeserializeXMLToObjectusingDynamic(1个回答)关闭7年前。我正在使用XmlSerializer与服务通信。这不是常规的SOAP服务,它有自己的XML对象类型。例如,我可能会要求对象,但它可能返回.因此,换句话说,我必须处理随机的XML文档类型。但是,我知道我必须处理哪些类型。我正在尝试做的是找到一种通用方法来序列化/反序列化这些文档。问题是XmlSerializer需要在创建阶段知道类型。这些没有封装在公共(public)根元素中,因此创建一个基类并使用[XmlInclude]属性在这种情况下不起作用:[XmlInclude

C# Xml 序列化 List<T> 具有 Xml 属性的后代

早上好,我有一个继承自List的集合,它有一个公共(public)属性。Xml序列化程序不获取我的属性。列表项序列化良好。我已尝试XmlAttribute属性无济于事。你们有解决办法吗?publicpartialclassMainWindow:Window{publicMainWindow(){InitializeComponent();}privatevoidbutton1_Click(objectsender,RoutedEventArgse){varpeople=newPersonCollection{newPerson{FirstName="Sue",Age=17},newPe

c# - 是否有用于 .net 的序列化程序将输出 c# 代码?

我正在寻找一个序列化程序,它可以接受一个实例,并将其序列化为一个包含c#代码的字符串,代表图形的内容。该类的功能类似于JSON.NET中的SerializeObject。我知道只有一小部分结构可以工作,但我感兴趣的结构非常简单而且它们会起作用。如果有人知Prop有类似功能的VisualStudioVisualizer,可加分。编辑:输出将在编译时用于不同的应用程序。我不需要在运行时反序列化输出(c#代码),它会保存到文件中以供分析。varfoo=newFoo(){Number=1,Bar=newBar(){Str="Bar"}};stringsourceCode=Magic.Seria

c# - 序列化和反序列化时出现 InvalidCastException

我有这个代码:publicbyte[]SerializeToBlob(){using(varbuffer=newMemoryStream()){varformatter=newBinaryFormatter();formatter.Serialize(buffer,this);buffer.Position=0;returnbuffer.ToArray();}}publicstaticActionDataDeserializeFromBlob(byte[]state){using(varbuffer=newMemoryStream(state)){varformatter=newBin

c# - 使用 JSON.net 序列化时忽略接口(interface)中定义的属性

我有一个具有如下属性的接口(interface):publicinterfaceIFoo{//...[JsonIgnore]stringSecretProperty{get;}//...}我希望在序列化所有实现类时忽略SecretProperty。但似乎我必须在属性的每个实现上定义JsonIgnore属性。有没有一种方法可以实现这一点而不必向每个实现添加JsonIgnore属性?我没有找到任何对我有帮助的序列化程序设置。 最佳答案 经过一番搜索,我发现了这个问题:Howtoinherittheattributefrominterfa

c# - Json.NET 序列化私有(private)成员而不是只读属性

如何自定义Json.NET以序列化私有(private)成员而不序列化公共(public)只读属性(不使用属性)。我尝试过创建自定义IContractResolver,但有点迷茫。 最佳答案 对于部分答案,搞乱DefaultContractResolver.DefaultMembersSearchFlags可以让它包含私有(private)的东西:Newtonsoft.Json.JsonSerializerSettingsjss=newNewtonsoft.Json.JsonSerializerSettings();if(inclu