Ho una classe che utilizza serializzatore di oggetti per serializzare le proprietà. La classe è derivata da un'altra classe come segue
[Serializable]
public class TargetInfo:
PropertyHandler
Quando chiamo il metodo serialize, serializzatoreprova a serializzare anche la classe PropertyHandler e lancia diverse eccezioni poiché la classe PropertyHandler non è conforme alle regole di serializzazione. Come posso evitare la serializzazione di PropertyHandler e serializzare solo TargetInfo?
Qualsiasi aiuto / idee sarà molto apprezzato.
Grazie
risposte:
2 per risposta № 1Hai un certo numero di opzioni ... se vuoi serializzare una classe che estende una classe base, allora quella classe base dovere anche essere contrassegnato con il Serializable
attributo. È tuttavia possibile aggiungere ilNonSerialized
attributo ai membri della classe base che fai non voglio essere serializzato.
Se questo è ancora non è giusto per te, puoi provare alcune serializzazioni personalizzate implementando il ISerializable
interfaccia, fornendo più controllo su esattamente ciò che è serializzato. Si prega di dare un'occhiata al Serializzazione degli oggetti in .NET Framework pagina su MSDN per ulteriori informazioni su questo argomento.