IModelObject::GetIntrinsicValueAs 方法 (dbgmodel.h)
GetIntrinsicValueAs 方法的行為就像 GetIntrinsicValue 方法一樣,不同之處在於它會將值轉換成指定的變體類型。 如果無法執行轉換,方法會傳回錯誤。
語法
HRESULT GetIntrinsicValueAs(
VARTYPE vt,
VARIANT *intrinsicData
);
參數
vt
要轉換成 的值類型會以 VARTYPE 的形式傳遞給這裡。 法務值是透過VT_I8 VT_I1、VT_U1到VT_U8、VT_R4到VT_R8,以及VT_BOOL。 無法透過此方法執行字串轉換。
intrinsicData
此處會傳回 IModelObject 內轉換成 vt 自變數所描述之類型的Boxed值。 指標必須指向不包含可釋放值的 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 |