CArchive::SerializeClass

public static void SerializeClass (const CRuntimeClass * pRuntimeClass );

Parametri

pRuntimeClass

Un puntatore a un oggetto di classe in fase di esecuzione per la classe di base.

Osservazioni

Chiamare questa funzione membro quando si desidera archiviare e caricare le informazioni sulla versione di una classe base. SerializeClass legge o scrive il riferimento a una classe per l'oggetto CArchive , dipende dalla direzione della CArchive. Utilizzare SerializeClass al posto di ReadClass e WriteClass come un modo conveniente per serializzare oggetti di classe base; SerializeClass richiede meno codice e meno parametri.

Come ReadClass, SerializeClass verifica che le informazioni archiviate classe siano compatibile con la classe di runtime. Se non č compatibile, SerializeClass genererā un CArchiveException.

Classe runtime deve utilizzare DECLARE_SERIAL e IMPLEMENT_SERIAL; in caso contrario, verrā generata un' SerializeClass un CNotSupportedException.

Utilizzare la macro RUNTIME_CLASS per recuperare il valore per il parametro pRuntimeClass . La classe di base deve avere utilizzato la macro IMPLEMENT_SERIAL.

Esempio

classe CBaseClass: pubblica CObject {...};
classe CDerivedClass: pubblico CBaseClass {...};
public static void CDerivedClass::Serialize (C&Archiveamp; ar)
{
   Se (ar.IsStoring())
   {
      codice //Normal per l'archiviazione di contenuti //of questo oggetto
   }
   altro
   {
      codice //Normal per la lettura di contenuti //of questo oggetto
   }

la classe base per serializzare lungo //with le informazioni sulla versione //allow
   AR.SerializeClass(RUNTIME_CLASS(CBaseClass));
   CBaseClass::Serialize(ar);
}

Pa&noramica di CArchive |nbsp; Membri della classe | Gerarchia Chart

Vedere anchenbsp;CArchive::ReadClass, CArchive::WriteClass, CArchive::GetObjectSchema, CArchive::SetObjectSchema, CArchiveException, C&NotSupportedException

Index