CArchive::SerializeClass

void SerializeClass (const CRuntimeClass * pRuntimeClass );

Parameter

pRuntimeClass

Ein Zeiger auf ein Objekt Runtime-Klasse, der Basisklasse.

Bemerkungen

Rufen Sie diese Memberfunktion auf, wenn Sie zum Speichern und Laden der Versionsinformationen einer Basisklasse. SerializeClass liest oder schreibt den Verweis auf eine Klasse auf das CArchive -Objekt, je nach Richtung der CArchive. Verwenden Sie SerializeClass anstelle von ReadClass und WriteClass als eine bequeme Möglichkeit, die Base-Klasse Objekte serialisieren; SerializeClass erfordert weniger Code und weniger Parameter.

Wie ReadClassob SerializeClass die archivierten Informationen mit der Common Language Runtime-Klasse kompatibel ist. Wenn es nicht kompatibel ist, wird SerializeClass ein CArchiveException ausgelöst.

Die Common Language Runtime-Klasse muss DECLARE_SERIAL und IMPLEMENT_SERIALverwendet; Andernfalls wird SerializeClass eine CNotSupportedException auslösen.

Verwenden Sie das Makro RUNTIME_CLASS zum Abrufen des Werts für den Parameter pRuntimeClass . Die Basisklasse muss das Makro IMPLEMENT_SERIAL verwendet haben.

Beispiel

cBaseClass-Klasse: public CObject {...};
Klasse CDerivedClass: öffentliche CBaseClass {...};
privatevoid CDerivedClass::Serialize (C&Archiveamp; Ar)
{
   Wenn (Ar.IsStoring())
   {
      //normal Code zum Speichern von Inhalt //of dieses Objekts
   }
   anderes
   {
      //normal Code zum Lesen von Inhalt //of dieses Objekts
   }

der Basisklasse serialisieren zusammen //with die Versionsinformation //Allow
   AR.SerializeClass(RUNTIME_CLASS(CBaseClass));
   CBaseClass::Serialize(ar);
}

Übersicht über die CArchiveMember der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CArchive::ReadClass, CArchive::WriteClass, CArchive::GetObjectSchema, CArchive::SetObjectSchema, CArchiveException, CNotSupportedException

Index