STATIC_DOWNCAST
Wandelt pobject in einen Zeiger auf einen class_name-Objekt um.
STATIC_DOWNCAST(class_name, pobject )
Parameter
class_name
Der Name der Klasse, die konvertiert wird.pobject
Der Zeiger auf einen Zeiger umgewandelt werden können, in einen class_name-Objekt.
Hinweise
pobject muss entweder NULL sein, oder zeigen Sie auf ein Objekt einer Klasse abgeleitet ist, die direkt oder indirekt vom class_name.In den Builds Ihrer Anwendung mit dem definierten _DEBUG Präprozessorsymbol, wird das Makro ASSERT, wenn pobject nicht NULL ist oder wenn es auf ein Objekt zeigt, das keine "Typ" Klasse ist, die im class_name-Parameter angegeben ist ( CObject::IsKindOf wird).Bei Nicht-_DEBUG Builds wird das Makro ohne Typüberprüfung die Umwandlung aus.
Die Klasse, die im class_name-Parameter angegeben wird, muss der CObject abgeleitet sein und muss DECLARE_DYNAMIC und IMPLEMENT_DYNAMIC, DECLARE_DYNCREATE und IMPLEMENT_DYNCREATE, oder die DECLARE_SERIAL und IMPLEMENT_SERIAL Makros verwenden, wie im Artikel CObject-Klasse: Eine Klasse von CObject abgeleitete erläutert.
Zum Beispiel wandelten Sie möglicherweise einen Zeiger auf CMyDoc aufgerufen, um pMyDoc, in einen Zeiger auf CDocument mithilfe dieses Ausdrucks:
CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);
Wenn pMyDoc sich nicht auf ein Objekt zeigt, das sich direkt oder indirekt von CDocument abgeleitet ist, wird das Makro ASSERT.
Anforderungen
Header: afx.h