iModelObject::GetConcept 方法 (dbgmodel.h)

GetConcept 方法将在对象 (或其父模型链) 搜索概念,并返回指向概念接口的接口指针。 概念接口上的行为和方法特定于每个概念。 但是,需要注意的是,许多概念接口要求调用方显式传递上下文对象 (或者传统情况下调用此指针的对象) 。 请务必确保将正确的上下文对象传递给每个概念接口。

语法

HRESULT GetConcept(
  REFIID    conceptId,
  IUnknown  **conceptInterface,
  IKeyStore **conceptMetadata
);

参数

conceptId

要查询的概念的唯一标识符。 这也是该概念的核心接口的 IID。

conceptInterface

conceptId 定义的接口将在此参数中返回。

conceptMetadata

与该概念关联的元数据存储将在此参数中返回(可选)

返回值

此方法返回指示成功或失败的 HRESULT。

注解

代码示例

ComPtr<IModelObject> spObject; /* get some object */

// Get the string conversion of spObject through the string displayable concept:
ComPtr<IStringDisplayableConcept> spStringDisplayable;
if (SUCCEEDED(spObject->GetConcept(__uuidof(IStringDisplayableConcept), 
                                   &spStringDisplayable, 
                                   nullptr)))
{
    BSTR stringConversion;
    if (SUCCEEDED(spStringDisplayable->ToDisplayString(spObject.Get(), 
                                                       nullptr, 
                                                       &stringConversion)))
    {
        // stringConversion contains the display string conversion for the object
        SysFreeString(stringConversion);
    }
}

要求

要求
Header dbgmodel.h

另请参阅

IModelObject 接口