1

我知道数据成员保存到磁盘,但我想知道对象/类的方法是否也以二进制格式保存?因为我发现了一些矛盾的信息,例如:

Ivor Horton:“类对象包含函数成员和数据成员,并且所有成员,包括数据和函数,都有访问说明符;因此,要在外部文件中记录对象,写入文件的信息必须包含完整的说明所涉及的所有阶级结构。”

和:

方法是否也与 .NET 中的数据成员一起序列化?

因此:方法的汇编指令(操作码和操作数)是否也存储到磁盘中?就像预编译的 LIB 或 DLL 一样?在 DOS 时代,我时不时地使用汇编。

据我记得德尔福和以下网站(由dan04回答):

方法是否也与 .NET 中的数据成员一起序列化?

sizeof(<OBJECT or CLASS>)将一起给出所有数据成员的大小(无方法/过程)。那里还给出了一个不错的 C 示例,其中在一个类/结构中声明了数据和成员,但在运行时,这些方法是作用于数据结构的单独过程。但是,我认为像 Pascal 的 VMT 这样的后期类/对象实现在内存上可能会有所不同。

4

1 回答 1

1

不,方法已保存。

只有能够将对象恢复到其先前状态所需的信息。

因此,任何值字段和 prop 都将被保存(假设您使用的是二进制序列化程序),但在任何情况下方法都不会被保存。

于 2012-03-25T12:53:55.873 回答