iModelObject::TryCastToRuntimeType 方法 (dbgmodel.h)
TryCastToRuntimeType 方法将要求调试主机执行分析并确定实际运行时类型 (例如:给定对象的大多数派生类) 。 使用的确切分析特定于调试主机,可能包括 RTTI (C++ 运行时类型信息) 、检查 V-Table (虚拟函数表) 对象的结构,或者主机可用于从静态类型可靠地确定动态/运行时类型的任何其他方法。 无法转换为运行时类型并不意味着此方法调用将失败。 在这种情况下, 方法将返回给定对象 (输出参数中的此指针) 。
语法
HRESULT TryCastToRuntimeType(
_COM_Errorptr_ IModelObject **runtimeTypedObject
);
参数
runtimeTypedObject
给定对象到其动态/运行时类型的实例的转换将在此参数中返回。 如果分析未能在静态类型中找到更改,则给定对象 (此指针) 可能返回 (,并在此输出中) 附加引用。
返回值
此方法返回指示成功或失败的 HRESULT。 请注意,找不到派生类型的分析不是此处定义的失败。
注解
代码示例
ComPtr<IModelObject> spUnknown; /* get an IUnknown pointer to some CFoo */
ComPtr<IModelObject> spRuntimeObj;
if (SUCCEEDED(spUnknown->TryCastToRuntimeType(&spRuntimeObj)))
{
// spRuntimeObj will refer to the CFoo.
}
要求
要求 | 值 |
---|---|
Header | dbgmodel.h |