โมฆะ 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)