Metodo IModelObject::GetIntrinsicValueAs (dbgmodel.h)

Il metodo GetIntrinsicValueAs si comporta molto come il metodo GetIntrinsicValue, ad eccezione del fatto che converte il valore nel tipo variant specificato. Se la conversione non può essere eseguita, il metodo restituisce un errore.

Sintassi

HRESULT GetIntrinsicValueAs(
  VARTYPE vt,
  VARIANT *intrinsicData
);

Parametri

vt

Il tipo di valore da convertire in viene passato qui come VARTYPE. I valori legali sono VT_I1 attraverso VT_I8, VT_U1 attraverso VT_U8, VT_R4 attraverso VT_R8 e VT_BOOL. Non è possibile eseguire conversioni di stringa tramite questo metodo.

intrinsicData

Il valore casellato all'interno di IModelObject convertito nel tipo descritto dall'argomento vt viene restituito qui. Il puntatore deve puntare a una struttura VARIANT che non contiene un valore liberabile. È responsabilità del chiamante cancellare questo VARIANT con VariantClear al termine dell'operazione.

Valore restituito

Questo metodo restituisce HRESULT che indica l'esito positivo o l'errore.

Commenti

Codice di esempio

ComPtr<IModelObject> spObject; /* get from somewhere */

// Unbox as VT_I4.  This will fail if the value does not FIT into an int (I4):
VARIANT vtVal;
HRESULT hr = spObject->GetIntrinsicValueAs(VT_I4, &vtVal);
if (SUCCEEDED(hr))
{
    int iVal = vtVal.lVal; // The object has successfully packed into an I4 and been unboxed as an int.
}
// Since we know this is a VT_I4, VariantClear is superfluous.

Requisiti

Requisito Valore
Intestazione dbgmodel.h

Vedi anche

Interfaccia IModelObject