共用方式為


IModelObject::GetIntrinsicValueAs 方法 (dbgmodel.h)

GetIntrinsicValueAs 方法的行為與 GetIntrinsicValue 方法相同,不同之處在於它會將值轉換成指定的變體類型。 如果無法執行轉換,此方法會傳回錯誤。

語法

HRESULT GetIntrinsicValueAs(
  VARTYPE vt,
  VARIANT *intrinsicData
);

參數

vt

要轉換成 的值類型會以 VARTYPE 的形式在此傳遞。 法律值是透過VT_I8、VT_U1 VT_U8、VT_R4到VT_R8和VT_BOOL VT_I1。 無法透過此方法執行字串轉換。

intrinsicData

此處會傳回 IModelObject 內的值, 轉換成 vt 自變數所描述的類型。 指標必須指向不包含可自由值之 VARIANT 結構。 呼叫者有責任在完成時,使用 VariantClear 清除此 VARIANT。

傳回值

此方法會傳回表示成功或失敗的 HRESULT。

言論

程式代碼範例

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.

要求

要求 價值
標頭 dbgmodel.h

另請參閱

IModelObject 介面