STATIC_DOWNCAST
Effectue un cast du pobject à un pointeur vers un objet de class_name .
STATIC_DOWNCAST(class_name, pobject )
Paramètres
class_name
Le nom de la classe qui est castée en.pobject
Le pointeur à être castées en un pointeur vers un objet de class_name .
Notes
le pobject doit être NULL, ou point à un objet d'une classe dérivée, directement ou indirectement, de class_name.Dans les builds de votre application avec le symbole de préprocesseur de _DEBUG défini, la macro ASSERT si le pobject n'est pas NULL, ou qu'il pointe vers un objet qui n'est pas « type » de classe spécifiée dans le paramètre de class_name (consultez CObject::IsKindOf).Dans les builds indépendant de**_DEBUG** , le effectue un cast sans aucune vérification de type.
La classe spécifiée dans le paramètre de class_name doit être dérivée d' CObject et doit utiliser DECLARE_DYNAMIC et IMPLEMENT_DYNAMIC, DECLARE_DYNCREATE et IMPLEMENT_DYNCREATE, la macro ou d' DECLARE_SERIAL et d' IMPLEMENT_SERIAL comme expliqué dans l'article classe de CObject : dérivation d'une classe de CObject.
Par exemple, vous pouvez effectuer un cast d'un pointeur vers CMyDoc, pMyDocappelé, un pointeur vers CDocument à l'aide de cette expression :
CDocument* pDoc = STATIC_DOWNCAST(CDocument, pMyDoc);
Si pMyDoc n'indique pas un objet dérivé directement ou indirectement de CDocument, le ASSERT.
Configuration requise
Header: afx.h