STATIC_DOWNCAST
Typumwandlungen pobject zu einem Zeiger auf einen class_name-Objekt.
STATIC_DOWNCAST(class_name, pobject )
Parameter
class_name
Der Name der Klasse, die für umgewandelt wird.pobject
Der einem Zeiger umgewandelt werden Zeiger, ein class_name-Objekt.
Hinweise
pobject muss entweder NULL sein, oder zeigen Sie auf ein Objekt eine Klasse, die direkt berechnet wird, oder indirekt, vom class_name. In den Builds der Anwendung mit dem definierten Präprozessorsymbol _DEBUG, wird das Makro ASSERT, wenn pobject nicht NULL ist oder wenn auf ein Objekt verweist, das keine "Art" Klasse ist, die im class_name-Parameter angegeben wird ( CObject::IsKindOf wird). In als _DEBUG Builds führt das Makro die Umwandlung ohne Typüberprüfung aus.
Die Klasse, die im class_name-Parameter angegeben wird, muss von CObject abgeleitet werden muss und DECLARE_DYNAMIC und IMPLEMENT_DYNAMIC, DECLARE_DYNCREATE und IMPLEMENT_DYNCREATE, oder die Makros DECLARE_SERIAL und IMPLEMENT_SERIAL verwenden, wie im Artikel CObject-Klasse: Ableiten einer Klasse von CObject erläutert.
Beispielsweise muss ggf. einen Zeiger in CMyDoc um, pMyDoc, auf einen Zeiger auf CDocument mithilfe dieses Ausdrucks:
CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);
Wenn pMyDoc nicht auf ein Objekt zeigt, das direkt oder indirekt von CDocument abgeleitet ist, wird das Makro ASSERT.
Anforderungen
Header: afx.h