为什么对类型'type '它需要一个描述类型本身

本文关键字:类型 一个 描述 type 为什么 | 更新日期: 2023-09-27 18:10:28

我有一个应用程序的插件,这是动态加载的。我将这些程序集的类型保存在Type对象数组中。然后,当应用程序关闭时,它通过序列化将这个数组保存到一个文件中。当应用程序启动时,它加载此文件并尝试反序列化。如果发生错误,因为包含这些类型中描述的类的程序集不可用。我不明白为什么会发生这种情况:类型"type"是在mscorlib或类似的东西中。对象类型对它所描述的类型有引用吗?

为什么对类型'type '它需要一个描述类型本身

考虑类型TypeAssembly属性。返回对包含该类型的程序集的引用。为了获得该引用,必须加载程序集(可能"仅用于反射")。同样地,你可以向一个类型询问它的所有方法,等等——如果没有程序集,你怎么能期望它工作呢?

我认为Type 可以序列化,所有的属性值只在需要时填充,所以你可以有一个Type对象,它引用了一个缺失的程序集中的类型…但那会很奇怪。

也许你应该保持完全限定类型名称而不是Type本身,如果这是你想要能够依赖?
相关文章: