2012-03-24 8 views
1

私はデータメンバーがディスクに保存されていることを知っていますが、オブジェクトの/ classのメソッドもバイナリ形式で保存されているのでしょうか?オブジェクト/クラスメソッドも同様にシリアル化されていますか?

Ivor Horton:"クラスオブジェクトには、関数メンバとデータメンバが含まれています。すべてのメンバ(データと関数の両方)にはアクセス指定子があります。ファイルに書き込まれる情報には、関連するすべてのクラス構造の完全な仕様が含まれていなければなりません。

と:従って

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

:メソッドのアセンブリ命令(オペコードとオペランド)もディスクに格納されていますか?プリコンパイルされたLIBまたはDLLとまったく同じですか? DOS時代に私は今やアセンブリを使用しました。

は、私の知る限りは、Delphiおよび次のサイト(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

+0

質問はそのリンクで回答されています。 – EJP

答えて

1

いいえ、メソッドは保存されます。

オブジェクトを以前の状態に復元するために必要な情報のみ。

したがって、任意の値フィールドと小道具は保存されます(バイナリシリアライザを使用していると仮定します)。ただし、その場合はメソッドは保存されません。

関連する問題