Metodo IModelObject::GetIntrinsicValueAs (dbgmodel.h)

Il metodo GetIntrinsicValueAs si comporta in modo molto simile al metodo GetIntrinsicValue, ad eccezione del fatto che converte il valore nel tipo variant specificato. Se non è possibile eseguire la conversione, il metodo restituisce un errore.

Sintassi

HRESULT GetIntrinsicValueAs(
  VARTYPE vt,
  VARIANT *intrinsicData
);

Parametri

vt

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

intrinsicData

Il valore boxed all'interno del 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 negativo.

Osservazioni

esempio di codice

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.

Fabbisogno

Requisito Valore
intestazione dbgmodel.h

Vedere anche

dell'interfaccia IModelObject