1

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

[Serializable]
public class TargetInfo:
    PropertyHandler

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

4

1 に答える 1

2

いくつかのオプションがあります...基本クラスを拡張するクラスをシリアル化する場合は、その基本クラスも属性でマークする必要があります。ただし、シリアライズしたくない基本クラスのメンバーに属性をSerializable追加することはできます。NonSerialized

これでも問題が解決しない場合は、インターフェイスを実装してカスタム シリアライズを試すことができます。これにより、シリアライズされるISerializable内容を正確に制御できます。この件に関する詳細については、MSDNの .NET Frameworkページでのオブジェクトのシリアル化を参照してください。

于 2013-09-09T12:09:59.663 に答える