Udostępnij za pośrednictwem


CArchive::WriteClass

Użyj WriteClass do przechowywania wersji i klasy informacji klasy podstawowej podczas serializacji klasy pochodnej.

void WriteClass( 
   const CRuntimeClass* pClassRef  
);

Parametry

  • pClassRef
    Wskaźnik do CRuntimeClass strukturę, która odpowiada odwołania klasy wymagane.

Uwagi

WriteClasszapisuje odniesienie do CRuntimeClass dla klasy podstawowej do CArchive.Użyj CArchive::ReadClass do pobierania odniesienia.

WriteClasssprawdza, czy informacje o zarchiwizowanych klasy jest zgodny z klasy runtime.Jeśli nie jest zgodny, WriteClass wygeneruje CArchiveException.

Należy użyć klasy runtime DECLARE_SERIAL i IMPLEMENT_SERIAL; w przeciwnym razie WriteClass wygeneruje CNotSupportedException.

Można użyć SerializeClass zamiast WriteClass, która obsługuje zarówno odczytywania i zapisywania odwołania klasy.

Przykład

CFile myFile(_T("My__test__file.dat"), 
   CFile::modeCreate | CFile::modeReadWrite);

// Create a storing archive.
CArchive arStore(&myFile, CArchive::store);

// Store the class CAge in the archive.
arStore.WriteClass(RUNTIME_CLASS(CAge));

// Close the storing archive.
arStore.Close();

// Create a loading archive.
myFile.SeekToBegin();
CArchive arLoad(&myFile, CArchive::load);

// Load a class from the archive.
CRuntimeClass* pClass = arLoad.ReadClass();
if (!pClass->IsDerivedFrom(RUNTIME_CLASS(CAge)))
{
   arLoad.Abort();                  
}

Wymagania

Nagłówek: afx.h

Zobacz też

Informacje

Klasa CArchive

Diagram hierarchii

CArchive::ReadClass

CArchive::GetObjectSchema

CArchive::SetObjectSchema

CArchive::SerializeClass

Klasa CArchiveException

Klasa CNotSupportedException

CObList::CObList