/ / C#、wpf、継承、xml-serialization、オブジェクト直列化、クラス宣言でのみ基本クラスでSerializable属性を使用する

C#、wpf、継承、xml-serialization、オブジェクト直列化、クラス宣言でのみ基本クラスでSerializable属性を使用

オブジェクトシリアライザを使用してプロパティをシリアル化するクラスがあります。クラスは次のように別のクラスから派生しています

[Serializable]
public class TargetInfo:
PropertyHandler

私がserializeメソッドを呼び出すと、シリアライザPropertyHandlerクラスもシリアライゼーションルールに準拠していないため、PropertyHandlerクラスもシリアライズしようとし、異なる例外をスローします。 PropertyHandlerの直列化を避け、TargetInfoのみを直列化するにはどうすればよいですか?

どんな助けやアイデアも高く評価されます。

ありがとう

回答:

回答№1は2

いくつかのオプションがあります...基本クラスを継承するクラスを直列化したい場合は、その基本クラス 必須 また、 Serializable 属性。ただし、NonSerialized あなたが行う基本クラスのメンバーに属性 ない シリアライズしたい

これが まだ あなたのために適切ではない、あなたはいくつかのカスタムシリアル化を試すことができます ISerializable シリアル化されたものを正確に制御することができます。どうぞご覧ください .NET Frameworkでのオブジェクトのシリアル化 この件に関する詳細は、MSDNのページを参照してください。