继承树上的反序列化顺序

2024-01-01

我有一个标记的基类Serializable,以及标记的派生类Serializable也。我想在反序列化期间在基类中做一些事情,因此声明了一个标记为OnDeserializing,但重要的是该方法将在任何派生类的之前执行OnDeserializing方法。
派生类也可能由其他人编写。
我可以相信基类的方法将在派生类中的任何序列化方法之前调用吗?
我要用SoapFormatter.


我要大胆地说,根据我所看到的将反射用于其他目的的情况,它可能会首先找到派生方法,而不是基本方法。我建议您可能希望从子级显式调用基本行为,而不是依赖于用该属性标记的方法的任何顺序。如果较低级别的对象是直接可实例化的,而不是抽象的,因此也可能具有 OnDeserializing 标记的方法,则您可能需要设置标志来指示该级别是否已被处理。

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

继承树上的反序列化顺序 的相关文章

  • 使用 LINQ to SQL 时避免连接超时的最佳实践

    我需要知道在 net 应用程序中使用 LINQ to SQL 时避免连接超时的最佳实践 特别是在返回时IQueryable
  • 为什么可以通过ref参数修改readonly字段?

    考虑 class Foo private readonly string value public Foo Bar ref value private void Bar ref string value value hello world
  • 如果 async-await 不创建任何额外的线程,那么它如何使应用程序响应?

    一次又一次 我看到它说使用async await不创建任何额外的线程 这是没有意义的 因为计算机看起来一次做不止一件事的唯一方式是 实际上一次做不止一件事 并行执行 利用多个处理器 通过调度任务并在它们之间切换来模拟它 做一点A 一点B 一
  • 为什么 dotnet 的 char.IsLower() 是静态方法?

    这似乎违背了每一个设计准则 接受 T 类型的单个参数的静态方法通常应该只是一个成员方法 这太奇怪了我实际上不得不发布一个StackOverflow问题 https stackoverflow com questions 389100 is
  • Powershell - 在不安装 Excel 的情况下将 CSV 转换为 XLS

    我有一台自动生成报告的服务器 报告采用 CSV 格式 我需要能够直接加密文件 无需第三方压缩 无 WinZIP 或 WinRAR 我认为最好的想法是将 CSV 转换为 XLS 然后通过 Powershell 密码保护 XLS 文件 不幸的是
  • 如何将 Razor 视图转换为字符串?

    我想使用我的 Razor 视图作为某种发送电子邮件的模板 所以我想将我的模板 保存 在视图中 将其作为字符串读入控制器 进行一些必要的替换 然后发送它 我有有效的解决方案 我的模板作为 HTML 页面托管在某处 但我想将其放入我的应用程序中
  • 如何捕获一个 int

    我正在使用 IL 抛出一个 Int32 并捕获它 这只是出于好奇 我并没有试图实现任何目标 所以请不要告诉我抛出异常而不是 int method private hidebysig static void Main string args
  • WPF 如何从 DataTemplate 访问控件

    我有一个包含网格的数据模板 网格内有一个组合框
  • 在后台进程中访问 WPF FlowDocument

    在后台访问 WPF FlowDocument 我的问题涉及在 WPF 后台访问 UI 对象 我见过几十个示例应用程序 它们都很简单 易于理解 其中 95 告诉你如何显示进度条 这并不是我想要的 我的问题是这样的 我想通过访问 RichTex
  • 限制 LDAP 查询中返回的属性

    如何限制通过 System DirectoryServices 在 LDAP 查询中返回的属性 我一直在使用 DirectorySearcher 并将我想要的属性添加到 DirectorySearcher PropertiesToLoad
  • 合并两个(或更多)PDF

    背景 我需要为我的销售人员提供每周报告包 该包包含几个 5 10 个水晶报告 Problem 我想允许用户运行所有报告并且只运行单个报告 我想我可以通过创建报告然后执行以下操作来做到这一点 List
  • 什么是扩展方法?

    NET 中的扩展方法是什么 编辑 我已在以下位置发布了后续问题扩展方法的使用 https stackoverflow com questions 403619 usage of extension methods 扩展方法允许开发者向公众添
  • 如何证明 .NET CLR JIT 每次运行只编译每个方法一次?

    There s 一个老问题 https stackoverflow com questions 1255803 does the net clr jit compile every method every time 1255832每次询问
  • C#动态支持吗?

    看完之后这个帖子 https stackoverflow com questions 2674906 when should one use dynamic keyword in c sharp 4 0k和链接 我还有 2 个问题 问题 1
  • 剪贴板在 .NET 3.5 和 4 中的行为有所不同,但为什么呢?

    我们最近将一个非常大的项目从 NET Framework 3 5 升级到 4 最初一切似乎都工作正常 但现在复制粘贴操作开始出现错误 我已经成功制作了一个小型的可复制应用程序 它显示了 NET 3 5 和 4 中的不同行为 我还找到了一种解
  • 防止字符串中出现西里尔文/希腊文/中文 - C# 4.0

    我们有一个支持希腊语 西里尔语 中文字符的系统 使用 ASP NET C 4 0 但第三方系统似乎无法正常工作 为了避免为此第三方系统输入数据时出现问题 我想将文本字段限制为仅接受英语或重音字符 但返回其他字符的验证错误 我怎样才能做到这一
  • 如何将一个控件的属性绑定到另一个控件的属性?

    我希望当表单被禁用时 表单中的 保存 按钮消失 我这样做 this formStackPanel IsEnabled someValue if this formStackPanel IsEnabled this saveButton Vi
  • .NET 程序集差异/比较工具 - 有什么可用? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我希望能够在两个程序集之间进行代码级差异 Reflector 的 Diff 插件是迄今为止我发现的最接
  • 如何在网页上实现文件上传进度条?

    当用户将文件上传到我的网络应用程序时 我想显示比动画 gif 更有意义的内容 我还有哪些可能性 编辑 我正在使用 Net 但我不介意是否有人向我展示与平台无关的版本 如果您对这一切在客户端通常如何工作感兴趣 就是这样 所有解决方案都通过 J
  • 在哪里可以下载没有 Visual Studio 2010 的 C# 4.0 编译器?

    我知道 CTP VS 2010 映像 但我可以只下载 NET Framework 4 0 和 C 编译器吗 AFAIK VS 2010 CTP 仅作为 VM 映像提供 我不相信 Microsoft 发布了 VS 的安装程序 其中一个绝对不适

随机推荐

  • 在控制台中同时输入和输出

    一个线程将值无限地打印到控制台 另一个主线程从控制台获取用户输入 但输入值与该线程的输出混合 C cin 同时 cout https stackoverflow com questions 27650706 c cin while cout
  • 拍照时 Uri 必须不为 null 或为空

    我试图在按下 CircleImageView 时拍照 拍摄照片后裁剪它 然后开始上传到 Firebase 问题是我按下并且相机正确打开 但是当我拍照时应用程序崩溃 向我发送此错误Failure delivering result Resul
  • WKWebView 函数用于检测 URL 是否已更改

    WKWebView 类是否有一个函数可以让您检测到该 WebView 的 URL 何时发生更改 The didCommit and didStartProvisionalNavigation在使用 WebView 中的某些元素时 函数似乎并
  • Jquery - 延迟鼠标移出事件

    有没有办法让 jQuery 在之前等待一定的时间mouseout事件被解雇 目前它触发得太早 我宁愿等待 500 毫秒 然后再评估鼠标的离开 下面是我使用的代码示例 under construction this bind mousemov
  • asp.net web表单json返回结果

    我使用 asp net 和 Web 表单 在我的项目中我有 asmx Web 服务 WebMethod public string GetSomething avoid circual reference parent child List
  • 使用Python提取目录中所有pdf文档的页数

    我正在尝试使用 PyPDF2 来获取目录中每个 pdf 的页数 我可以使用 getNumPages 查找一个 pdf 文件中的页数 但我需要遍历一个目录并获取每个文件的页数 有任何想法吗 这是我到目前为止的代码 import pandas
  • 在 Bootstrap 3 中创建基础风格的块网格?

    在 Zurb Foundation 3 中 它们有一个 块网格 的 CSS 构造 它是一个无序列表 您可以在其中指定一行中的项目数 这是他们的文档 http foundation zurb com docs components block
  • 文件名中带有空格的 sqlcmd 脚本

    我有一个简单的SQLCMD脚本包含如下几行 Load data into Exampletable BULK INSERT dbo Example NOTE I ve tried single AND double quotes here
  • c# - 有没有办法制作固定(高度/宽度)控制台?

    我一直在 microsoft Visual Studio 2013 中闲逛 我制作了一个控制台应用程序 但我想知道是否有一种方法可以为其设置固定大小 高度 宽度 这意味着它无法调整大小 如果有人知道这是否可行 如果您能帮助我 我将不胜感激
  • 在 java 8 中将字符串转换为 Map

    有人可以指导我如何使用 Java 8 实现以下目标吗 我不知道如何将该计数器作为密钥 String str abcd Map
  • 如何将附加参数传递给 TypeScript 中的属性装饰器?

    我有一个简单的类 它的属性有物业装饰师 https github com Microsoft TypeScript Handbook blob master pages Decorators md property decorators应用
  • jQuery 根据复选框验证不同的字段

    我正在尝试使用jQuery 验证插件 http jqueryvalidation org 验证我的一份申请中的表格 表格 简化 如下
  • 如何在 tkinter 中创建模式对话框?

    我有一个运行一些嵌入式 Python 脚本的 MFC 应用程序 我正在尝试使该嵌入脚本创建模式的对话框之一 但我没有取得太大成功 谁能指出我制作模式对话框的方法 我是否需要为此使用 Windows 函数 还是仅 Tk 或 Python 函数
  • 如何在水晶报表中合并行?

    我正在使用 Crystal Report Version 10 2 Visual Studio 2008 并在 Crystal Report 中显示存储过程的结果 我的存储过程返回输出 如下所示 但我想在报告中显示 如下所示 提前致谢 使用
  • 如何在 div #content 加载时显示 div #loading

    我想实施一个解决方案 当 div content 中的内容正在加载时 隐藏 div content 显示 div loading 然后当 div content 加载完毕后 隐藏div loading 淡入 div content 我努力了
  • Vim - 在重音字母或 ñ 之后插入额外空格

    我有一个关于 Vim 的问题 我在 Mac OS X Snow Leopard 上并编译了 vim 以开始使用编辑器 有时我会用其他语言打字 我发现在输入带重音的字母时 每个字母后都会添加一个额外的空格 我还使用 Mac 西班牙语键盘进行打
  • 我尝试使用动画来使线性布局进行翻译,像这样向左<->向右。但我遇到了一些错误

    这是我的第一个应用程序 我尝试从右到左或从左到右翻译 这是代码 资源 gt 动画 gt 向左翻译
  • Node.js 和 java 之间的 mqtt 通信

    目标是使用 mqtt 协议发送数据 Java 项目 tempSensor 使用 mqtt 协议和使用 mqtt 订阅 tempvalue 的 Node js 生成 tempvalue Node js 和 java 项目都使用相同的密钥进行发
  • 如何在 iOS 中使用 MpMoviePlayerController 在 UISlider 上显示缓冲数据?

    我在用MPMoviePlayerController播放音频 我想在滑块上显示缓冲数据 如下所示 我想显示缓冲区数据 如滑块中的红色部分 我尝试用谷歌搜索它 但我没有得到任何解决方案 以及如何自定义滑块 提前致谢 是的 我们可以使用显示流数
  • 继承树上的反序列化顺序

    我有一个标记的基类Serializable 以及标记的派生类Serializable也 我想在反序列化期间在基类中做一些事情 因此声明了一个标记为OnDeserializing 但重要的是该方法将在任何派生类的之前执行OnDeseriali