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

另请参阅

IModelObject 接口