2012-03-24 78 views
1

我知道數據成員保存到磁盤,但我想知道對象的/類的方法是否以二進制格式保存?因爲我發現了一些相關詞典信息,例如:對象/類方法序列化?

Ivor Horton:「Class對象包含函數成員以及數據成員,並且所有成員(包括數據和函數)都具有訪問說明符;因此,要記錄對象一個外部文件,寫入文件的信息必須包含涉及的所有類結構的完整規範。「

和:

Are methods also serialized along with the data members in .NET?

因此:是方法的組件的指令(操作碼和操作數)存儲到磁盤,以及?就像預編譯的LIB或DLL一樣?在DOS時代,我時常使用組裝。

據我從德爾福以下站點(由dan04答案)記住:

Are methods also serialized along with the data members in .NET?

sizeof(<OBJECT or CLASS>)會給所有數據成員在一起的大小(沒有方法/步驟)。還有一個很好的C示例,其中給出了在一個類/結構中聲明的數據和成員,但是在運行時這些方法是作用於數據結構的單獨過程。但是,我認爲後來的類/對象實現(如Pascal的VMT)在內存中可能會有所不同。

+0

[方法是否也與.NET中的數據成員一起序列化?](http://stackoverflow.com/questions/2767893/are-methods-also-serialized-along-with-the-data-網內成員) – EJP 2012-03-25 09:41:21

+0

問題在該鏈接中回答。 – EJP 2012-03-25 09:41:48

回答

1

不,方法被保存。

只有能夠將對象恢復到其先前狀態所需的信息。

因此,任何值字段和道具將被保存(假設您使用二進制串行器),但在任何情況下方法都不會。