Metodo IModelObject::TryCastToRuntimeType (dbgmodel.h)

Il metodo TryCastToRuntimeType chiederà all'host di debug di eseguire un'analisi e determinare il tipo di runtime effettivo (ad esempio, la classe più derivata) dell'oggetto specificato. L'analisi esatta utilizzata è specifica dell'host di debug e può includere RTTI (informazioni sul tipo di runtime C++), l'esame della struttura V-Table (tabella di funzioni virtuali) dell'oggetto o qualsiasi altro mezzo che l'host può usare per determinare in modo affidabile il tipo di runtime/dinamico dal tipo statico. Se non si esegue la conversione in un tipo di runtime, questa chiamata al metodo avrà esito negativo. In questi casi, il metodo restituirà l'oggetto specificato (questo puntatore) nell'argomento di output.

Sintassi

HRESULT TryCastToRuntimeType(
  _COM_Errorptr_ IModelObject **runtimeTypedObject
);

Parametri

runtimeTypedObject

La conversione dell'oggetto specificato in un'istanza del tipo dinamico/runtime verrà restituita in questo argomento. Se l'analisi non riesce a trovare una modifica nel tipo statico, l'oggetto specificato (questo puntatore) potrebbe restituire (con un riferimento aggiuntivo) in questo output.

Valore restituito

Questo metodo restituisce HRESULT che indica l'esito positivo o negativo. Si noti che un'analisi che non riesce a trovare un tipo derivato non è un errore definito qui.

Commenti

Codice di esempio

ComPtr<IModelObject> spUnknown; /* get an IUnknown pointer to some CFoo */

ComPtr<IModelObject> spRuntimeObj;
if (SUCCEEDED(spUnknown->TryCastToRuntimeType(&spRuntimeObj)))
{
    // spRuntimeObj will refer to the CFoo.
}

Requisiti

Requisito Valore
Intestazione dbgmodel.h

Vedi anche

Interfaccia IModelObject