【问题标题】:Deserialize an object without it's type反序列化没有类型的对象
【发布时间】:2026-02-06 03:25:01
【问题描述】:

有没有办法在不知道序列化对象的情况下查看序列化对象的元数据和属性信息?

我有一堆二进制序列化对象,需要数据挖掘,但我无权访问原始类。现在,可以定义虚拟类来填充数据,但不知道反序列化对象中保存了哪些信息,我无法验证是否缺少任何属性。

【问题讨论】:

  • 不幸的是它不是 xml
  • 你有运行时程序集还是什么都没有?
  • 如果你至少有程序集,你应该能够反序列化并执行 .GetType() 来找出类。
  • 不幸的是不是兄弟......因为当你在接收端接收它只是一个对象并且你不能对它做任何事情,除非你将它反序列化到它的确切类..
  • @TMcKeown 我确实有程序集,并且一直在使用反射来查找底层字段,但这似乎是一个非常容易出错的方法

标签: c# c#-4.0 serialization binary-serialization


【解决方案1】:

我发现的唯一解决方案提示是一个由爱好者创建的存档网页,用于理解二进制序列化。它绝不是官方/完整的,但它看起来是迄今为止最好的解决方案。

http://web.archive.org/web/20120625224455/http://primates.ximian.com/~lluis/dist/binary_serialization_format.htm

【讨论】:

    最近更新 更多