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