5
シリアライズ継承可能ですか?
例:
[Serializable]
class A
{
}
class B : A
{
}
私はクラスBのインスタンスをデシリアライズ/シリアライズしようとした場合、私はクラスをシリアル化可能としてマークされていないことを示す例外を取得します。したがって、疑問:直列化は継承可能ですか?どうやってそれを行うのか分からないのですか、あるいは直列化する必要があるすべてのクラスに、明示的にそのようにマークする必要がありますか?
マイナー注意を。 *このケースでは*、この属性の 'Inherited'プロパティは直接関係しません(正しいことはありますが)。これは、メタデータ層では、[Serializable]が属性として実装されているのではなく、CLIクラスフラグとして実装されているためです(これはILストリームで確認できます)。 –
Marcさんに感謝します。それは確かにマイナーなことではありません! –
@Marc Gravell:テキストを変更し、そのプロパティ参照を削除しました...ありがとう –