Udostępnij za pośrednictwem


CArchive::SerializeClass

Wywołanie tej funkcji Członkowskich umożliwia przechowywanie i ładowanie informacji o wersji klasy podstawowej.

void SerializeClass(
   const CRuntimeClass* pClassRef 
);

Parametry

  • pClassRef
    Wskaźnik do obiektu klasy uruchomieniowej klasy podstawowej.

Uwagi

SerializeClassodczytuje lub zapisuje odwołanie do klasy do CArchive obiektu, w zależności od kierunku CArchive.Użyj SerializeClass miejsce z ReadClass i WriteClass to wygodny sposób serializować obiektów klasy base; SerializeClasswymaga mniejszej ilości kodu i mniej parametrów.

Jak ReadClass, SerializeClass sprawdza, czy informacje o zarchiwizowanych klasy jest zgodny z klasy runtime.Jeśli nie jest zgodny, SerializeClass wygeneruje CArchiveException.

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

Użyj RUNTIME_CLASS makra, aby pobrać wartość dla pRuntimeClass parametru.Muszą mieć używane klasy bazowej IMPLEMENT_SERIAL makro.

Przykład

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);
}

Wymagania

Nagłówek: afx.h

Zobacz też

Informacje

Klasa CArchive

Wykres hierarchii

CArchive::ReadClass

CArchive::WriteClass

CArchive::GetObjectSchema

CArchive::SetObjectSchema

Klasa CArchiveException

Klasa CNotSupportedException