CArchive::SerializeClass

void SerializeClass (const CRuntimeClass * pRuntimeClass );

Parametry

pRuntimeClass

Wskaźnik do obiektu klasy czasu dla klasy podstawowej.

Uwagi

Wywołania funkcji członek, gdy chcesz przechowywać i załadować informacji o wersji klasy podstawowej. SerializeClass odczytuje i zapisuje odwołanie do klasy obiektu CArchive , w zależności od kierunku CArchive. Użyj SerializeClass zamiast ReadClass i WriteClass w wygodny sposób serializować obiektów klas bazowych; SerializeClass wymaga mniejszej ilości kodu i mniej parametrów.

Podobnie jak ReadClass SerializeClass sprawdza, czy dane zarchiwizowane klasy jest zgodny z klasy runtime. Jeśli nie jest zgodny, SerializeClass wygeneruje CArchiveException.

Klasa runtime należy użyć DECLARE_SERIAL i IMPLEMENT_SERIAL; w przeciwnym razie SerializeClass wygeneruje CNotSupportedException.

Użyć makra RUNTIME_CLASS , aby pobrać wartość dla parametru pRuntimeClass . Klasa podstawowa musi korzystali z makra IMPLEMENT_SERIAL.

Przykład

klasa CBaseClass: publicznych CObject {...};
Klasa CDerivedClass: publicznych CBaseClass {...};
void CDerivedClass::Serialize (C&Archiveamp; ar)
{
   Jeżeli (cz.d.a.IsStoring())
   {
      kod //Normal do przechowywania zawartości //of tego obiektu
   }
   Else
   {
      kod //Normal czytania zawartości //of tego obiektu
   }

//Allow klasy podstawowej do serializowania wzdłuż //with swoje informacje o wersji
   cz.d.a.SerializeClass(RUNTIME_CLASS(CBaseClass));
   CBaseClass::Serialize(ar);
}

Omówie&nie CArchive |nbsp; Klasa członków | Wykres hierarchii

Zobacz teżnbsp;CArchive::ReadClass, CArchive::WriteClass, CArchive::GetObjectSchema, CArchive::SetObjectSchema, CArchiveException, C&NotSupportedException

Index