CArchive::SerializeClass

โมฆะ SerializeClass (const CRuntimeClass * pRuntimeClass );

พารามิเตอร์

pRuntimeClass

ตัวชี้ไปยังวัตถุคลารันไทม์สำหรับคลาสพื้นฐาน?

หมายเหตุ

เรียกฟังก์ชันนี้สมาชิกเมื่อคุณต้องการจัดเก็บ และโหลดข้อมูลเวอร์ชันของฐานชั้น SerializeClassอ่าน หรือเขียนข้อมูลอ้างอิงไปยังคลาสที่วัตถุCArchiveทั้งนี้ขึ้นอยู่กับทิศทางของการCArchive ใช้SerializeClassในตำแหน่งของReadClassและWriteClassเป็นวิธีสะดวกเพื่อซีเรียลไลซ์วัตถุ base-คลาส SerializeClassต้องการโค้ดน้อยลงและพารามิเตอร์ที่น้อยลง?

เช่นReadClass, SerializeClassตรวจสอบว่า ข้อมูลที่ถูกเก็บถาวรคลาสเข้ากันได้กับคลา runtime ของคุณ ถ้าไม่ได้SerializeClassจะโยนแบบCArchiveException?

คลาส runtime ของคุณต้องใช้DECLARE_SERIALและIMPLEMENT_SERIAL มิฉะนั้นSerializeClassจะโยนแบบCNotSupportedException?

ใช้แมโคRUNTIME_CLASSเพื่อเรียกค่าสำหรับพารามิเตอร์ของpRuntimeClass คลาสพื้นฐานต้องใช้แมโคIMPLEMENT_SERIAL?

ตัวอย่าง

คลา CBaseClass: สาธารณะ CObject {...};
คลา CDerivedClass: สาธารณะ CBaseClass {...};
CDerivedClass::Serialize (CArchiveamp; ar) ถือเป็นโมฆะ
{
   ถ้า (arIsStoring(&))
   {
      //normal รหัสสำหรับการจัดเก็บเนื้อหา //of วัตถุนี้
   }
   อื่น
   {
      //normal รหัสสำหรับการอ่านเนื้อหา //of วัตถุนี้
   }

//allow ชั้นฐานเพื่อซีเรียลไลซ์พร้อม //with ข้อมูลของรุ่น
   arSerializeClass(RUNTIME_CLASS(CBaseClass))
   CBaseClass::Serialize(ar)
}

ภาพรวม CArchive |nbsp สมาชิกของคลาส| แผนภูมิของลำดับชั้น(&N)

ดูเพิ่มเติมnbspCArchive::ReadClass, CArchive::WriteClass, CArchive::GetObjectSchema, CArchive::SetObjectSchema, CArchiveException, CNotSupportedException(&N)

Index