Condividi tramite


CArchive::SerializeClass

Chiamare la funzione membro quando si desidera archiviare e caricare le informazioni sulla versione di una classe base.

void SerializeClass(
   const CRuntimeClass* pClassRef 
);

Parametri

  • pClassRef
    Un puntatore a un oggetto classe di runtime per la classe base.

Note

SerializeClass lettura o scrittura il riferimento a una classe all'oggetto CArchive, come la direzione CArchive.Utilizzare SerializeClass anziché ReadClass e WriteClass come comodo mezzo per serializzare gli oggetti della classe base; SerializeClass richiede meno codice e meno parametri.

Come ReadClass, SerializeClass verifica che le informazioni sulle classi archiviate siano compatibili con la classe di runtime.Se non è compatibile, SerializeClass genererà CArchiveException.

La classe di runtime deve utilizzare DECLARE_SERIAL e IMPLEMENT_SERIAL; in caso contrario, SerializeClass genererà CNotSupportedException.

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

Esempio

class CBaseClass : public CObject 
{
   DECLARE_SERIAL(CBaseClass);
};
class CDerivedClass : public CBaseClass
{
public:
   virtual void Serialize(CArchive& ar);
};
void CDerivedClass::Serialize(CArchive& ar)
{
   if (ar.IsStoring())
   {
      //normal code for storing contents 
      //of this object
   }
   else
   {
      //normal code for reading contents 
      //of this object
   }

   //allow the base class to serialize along 
   //with its version information
   ar.SerializeClass(RUNTIME_CLASS(CBaseClass));
   CBaseClass::Serialize(ar);
}

Requisiti

Header: afx.h

Vedere anche

Riferimenti

Classe di CArchive

Grafico della gerarchia

CArchive::ReadClass

CArchive::WriteClass

CArchive::GetObjectSchema

CArchive::SetObjectSchema

Classe di CArchiveException

Classe di CNotSupportedException