如何在 Silverlight 中序列化派生类

2024-02-03

我在 XAML 中创建了一个自定义控件,并添加了一些自定义属性。现在,如果可能的话,我想将其序列化为 JSON。这是(基本上)我所拥有的:

public partial class MyCustomClass : UserControl
{
    public Dictionary<char, int[]> ValueMap;
    public int Value { get; set; }
}

在处理序列化的代码中:

public static string Serialize(object objectToSerialize)
{
    using (MemoryStream ms = new MemoryStream())
    {
        DataContractJsonSerializer serializer = 
          new DataContractJsonSerializer(objectToSerialize.GetType());
        serializer.WriteObject(ms, objectToSerialize);
        ms.Position = 0;
        using (StreamReader reader = new StreamReader(ms)) 
          return reader.ReadToEnd();
    }
}

然而,serializer.WriteObject(ms, objectToSerialize); throws

System.Runtime.Serialization.InvalidDataContractException:

考虑用 DataContractAttribute 属性,以及 标记您想要的所有成员 连载于 DataMemberAttribute 属性。 或者,您可以确保 类型是公共的并且无参数 构造函数 - 的所有公共成员 然后该类型将被序列化,并且 不需要任何属性。”

现在,当我将这些属性添加到MyCustomClass,我当然得到同样的例外,只是这一次System.Windows.UIElement代替MyCustomClass.

那么,有没有一种方法可以使用现有的序列化方法序列化我的自定义派生类,或者我应该为MyCustomClass?


我认为你最好在这里实现 IXmlSerialized,因为你真的不想不加区别地序列化基类中的所有内容(坦率地说,我不相信你可以)。

相反,在 MyCustomClass 上实现 IXmlSerializable,然后 DataContractJsonSerializer 将能够使用该实现来序列化到 JSON 或从 JSON 进行序列化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Silverlight 中序列化派生类 的相关文章

  • 增强缓冲区调用后丢失自定义点类型的数据

    我有我自己的观点 class LocationWayPoint public latlong container location WORD index PWeakBasicStation station namespace boost n
  • 使用 Rhino Mocks 模拟集合

    所以我猜这是很多人想做的事情 模拟集合 过去我用 Rhino 做过这样的事情 var col mock MockRepository GenerateMock
  • FxCop 和 GAC 疯狂

    当我尝试分析依赖于模式和实践 企业库数据 以及其他 2 0 0 0 的项目时使用 FxCop FxCop 抱怨它不能 定位程序集引用 即使正在分析的应用程序 dll 是根据其编译的此版本及其在 GAC 中 如果我浏览到 GAC 尝试选择相同
  • 不使用 DAO 压缩 Microsoft Access 数据库

    我用CDatabase类开一个ACCDB访问数据库 司机是 T Microsoft Access Driver mdb accdb 我可以打开并使用数据库 已经这样做很多年了 if DatabaseExist m strMDBPath AJ
  • 安全移动 C++ 对象

    我听到过一些警告 不要通过以下方式将对象运送到另一个内存位置memcpy 但不知道具体原因 除非它包含的成员做了依赖于内存位置的棘手事情 否则这应该是完全安全的 或者不是 编辑 预期的用例是像这样的数据结构vector 它存储对象 不是po
  • 有没有一种方法可以在 TreeView.Nodes 集合中搜索 TreeNode.Text 字段?

    像这样 TreeNode treeNodes treeView Nodes Find searchString true 但我希望它在text字段而不是name field 我不知道有任何内置方法 但你可以使用 LINQ TreeNode
  • 使用 itextSharp 5.3.3 对 Pdf 文档进行数字签名和验证

    我正在尝试使用 iTextSharp 5 3 3 在服务器 c 上进行数字签名和验证 pdf 文档 我使用 DigiSign 在线工具 生成了 Pfx 文件 然后使用 Windows 生成证书 cer 文件
  • 检查字符串中是否存在所有字符值

    我目前正在做这项任务 但我被困住了 目标是读取文件并查找文件中的字符串中是否存在这些字符值 我必须将文件中的字符串与作为参数放入的另一个字符串进行比较 但是 只要每个字符值位于文件中的字符串中 那么它就 匹配 示例 输入和输出 a out
  • 从 ASP.NET Web API 返回 HTML

    如何从 ASP NET MVC Web API 控制器返回 HTML 我尝试了下面的代码 但由于未定义 Response Write 而出现编译错误 public class MyController ApiController HttpP
  • ASP Net Core 属性路由和双正斜杠

    正如所指出的here https stackoverflow com a 20524044 3129340 URL 中包含双斜杠是有效的 我有一个使用属性路由的 ASP Net Core 项目 一个名为GroupController用于处理
  • 更改为通用接口对性能的影响

    我使用 Visual Studio 使用 C NET 开发应用程序 ReSharper 在我的方法原型中经常建议我用更通用的类型替换输入参数的类型 例如 如果我仅在方法主体中使用带有 foreach 的列表 则使用 List 和 IEnum
  • IOS Box2D - 身体遵循基于速度波动的点数组的特定路径

    我有一个关于身体的问题 它遵循特定的路径 首先是将身体移动到目标点的方法 const float destinationControl 0 3f b2Vec2 targetPosition path counter b2Vec2 missi
  • 在 C++ 中运行 python [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个用 C 编写的应用程序和一个测试系统 也是用 C 编写的 测试系统非常复杂并且很难改变 我只想做一些小的改变 我的班级是这样的
  • 在运行时生成可执行文件

    好吧 所以我想知道如何创建一个程序 该程序创建第二个程序 就像大多数压缩程序如何创建自解压自可执行文件一样 但这不是我需要的 假设我有 2 个程序 每个都包含一个类 我将使用一个程序来修改类并用数据填充类 第二个文件将是一个也具有该类的程序
  • 如何使用 C# 以编程方式识别对方法的引用数量

    我最近继承了需要一些修剪和清理的 C 控制台应用程序 长话短说 该应用程序由一个包含超过 110 000 行代码的类组成 是的 单个类中有超过 110 000 行 当然 该应用程序是我们业务的核心 全天候运行更新动态网站上使用的数据 尽管我
  • 通过 C++ 标头在 C++ 和 C# 中使用枚举

    我有一个用 C 编写的服务器 位于命名管道的末端 嗯 提供服务 可以发送到服务器的命令在位于头文件中的枚举中定义 enum e doThing1 e doThing2 e doLastThing 所需枚举的值被放入发送到服务器的消息的第一个
  • 如何同时正确使用管道和信号?

    我有 2 个孩子 我想将信号从孩子发送到父母 并将答案 随机数 为什么 为什么不 命名管道从父母发送到每个孩子 我有这个代码 include
  • 偏专业化朋友声明

    在下面的代码中 template
  • 无法使用 Alamofire 在 swift 3 中上传图像

    我在尝试让 Alamofire 上传图像时被困了三天 这个想法是 Alamofire 将其与一些 php 代码一起发送到服务器 经过大量尝试和查看不同的地方后 一些代码应该可以工作 但是 Alamofire 的服务器端文档很糟糕 最近对 s
  • 即使没有任何转换,也违反了 C 中的严格别名?

    How can i and u i在此代码中打印不同的数字 即使i定义为int i u i 我只能假设我在这里触发了 UB 但我不知道具体是如何触发的 ideone演示 http ideone com Gcv5Xm如果我选择 C 作为语言

随机推荐

  • 在 SQL Server 2008 中调试长动态 sql

    我有一些动态 sql 语句在某些条件下会崩溃 所以我正在尝试调试它 它的构建方式如下 declare sql varchar 4000 select sql
  • PHP中有这个函数吗?

    我发现自己需要这个函数 并且想知道它是否已经存在于 PHP 中 Truncates str and returns it with ending on the end if str is longer than limit characte
  • UILabel swift 中多行字符串的边界矩形

    我已经尝试了几个小时来找到boundingRect我有 UILabel 中的字符串 但似乎没有任何效果 据我了解 boundingRect返回标签中实际文本的大小 而不是标签的大小或类似的内容 这是真的 对吧 我有一个UILabel cal
  • 为什么 gulp.src 不喜欢传递一组完整的文件路径?

    我试图向 gulp src 传递一个我希望它处理的文件数组 这就是现在的数组 bower components jquery jquery js bower components superscrollorama js greensock
  • 使用 css3 的 SVG 阴影

    是否可以使用 css3 为 svg 元素设置阴影 例如 box shadow 5px 5px 5px 888 webkit box shadow 5px 5px 5px 888 我看到一些关于使用滤镜效果创建阴影的评论 有单独使用css的例
  • 是什么导致 SAML 响应中出现响应者状态

    我在使用我们的平台与客户设置 SAML 集成方面花费了相当多的时间 我们正在使用OneLogin 的 php sdk https github com onelogin php saml我们作为服务提供商 不确定他们使用什么作为身份提供者
  • php $_POST 数组在提交表单时为空

    我构建了一个自定义内容管理系统 CMS 它在我的开发盒 Ubuntu PHP5 MySQL5 上完美运行 我刚刚将其移至客户的生产框中 现在所有表单提交都显示为空的 POST 数组 我发现了一个技巧来验证数据是否确实正在传递file get
  • 我如何更好地理解 php 中 symfony2 的服务层

    我正在学习使用 symfony2 但我很难学习什么是服务层以及它可以在哪里使用 我怎样才能更好地理解symfony2中的服务层 我会尽力解释服务 但是 Symfony2docs http symfony com doc current bo
  • 如何在谷歌地图中添加多个标记

    我需要在谷歌地图中添加多个标记 通过使用谷歌地图库添加谷歌地图 我还在这张地图中添加了一个标记 对于单个标记代码 控制器 data tunnels this gt functional gt getTunnelData config cen
  • 最终用户实用程序/应用程序是否应该在 crates.io 上注册?

    是否可以在以下网站上注册普遍有用的 实用程序 应用程序 crates io http crates io The FAQ http doc crates io faq html没有解决这个问题 并且通过浏览 有最终用户应用程序的示例 主要是
  • 如何使用动态 IP 地址将自己从 Google Analytics 中过滤掉?

    如果您从动态 IP 地址访问该网站 有人知道如何设置 Google Analytics 来过滤掉自己吗 我不想将自己纳入家庭使用的统计数据中 因为我通过 Verizon FiOS 拥有动态 IP 地址 谷歌目前有一个浏览器插件 可以阻止您的
  • 在java中调用main内部的main方法

    我们可以在main中调用main方法吗 public static void main String args main a b c 尝试谷歌 找不到链接 抱歉 如果问题很琐碎 您可以但使用正确的格式 main new String a b
  • 重构我的 C# 代码 - Switch 语句

    我目前正在使用以下代码 基本上 此方法为每个任务分配正确的布尔标志 TRUE FALSE 随着需要添加的任务越来越多 我可以看到 switch 语句必须增长才能满足每个任务 必须有一种更简单的方法 来保持方法较小 代码 忘记命名约定 已更改
  • 什么是ReservedCodeCacheSize 和InitialCodeCacheSize?

    有人可以解释一下 JVM 选项吗ReservedCodeCacheSize and InitialCodeCacheSize是 具体来说我什么时候 为什么要改变它 我如何确定合适的尺寸 这就是文档所说的 XX ReservedCodeCac
  • 为什么Java NIO专门引入Buffer类而不是使用数组?

    有人问我一个问题 为什么字节数组不够用 NIO专门引入了一个类Buffer 这个问题的好答案是什么 它只是一种简化读 写操作的包装类吗 如果可能的话 请给我们举个例子来说明我们如何从中受益Buffer不能 很难用数组完成的类 None
  • Facebook API 实时好友在线状态更新

    我目前正在 Facebook 上开发一个应用程序 其中包含我的朋友列表并显示他们的在线状态 为了得到这个 我使用了 fql SELECT uid name online presence status FROM user WHERE uid
  • 如何知道列表中元素的个数是偶数还是奇数

    如何确定任意列表中的元素数量是偶数还是奇数 I tried list index 获得所有索引 但我仍然不知道如何告诉程序什么是偶数 什么是奇数 您可以使用内置函数len 为了这 Python 文档 len http docs python
  • WPF 从 DataTrigger 设置 Image.Source

    我正在尝试定义一个DataTrigger for an Image元素 以便显示连接 断开连接的图像 我不断收到Invalid PropertyDescriptor信息 有任何想法吗
  • 根据方法名称过滤 log4net - 不太明白

    我使用 log4net 来记录我的 Web 应用程序的进度 使用 Log4PostSharp 来 AOP 注入所有方法 这达到了记录 几乎 所有内容的预期效果 并且很好 我现在需要将 Page Load 方法记录到文件 控制台 显然 我可以
  • 如何在 Silverlight 中序列化派生类

    我在 XAML 中创建了一个自定义控件 并添加了一些自定义属性 现在 如果可能的话 我想将其序列化为 JSON 这是 基本上 我所拥有的 public partial class MyCustomClass UserControl publ