iModelKeyReference2::GetContextObject 方法 (dbgmodel.h)

GetContextObject 方法返回此指针 (上下文) ,如果相关键引用属性访问器,则将该上下文传递给属性访问器的 GetValue 或 SetValue 方法。 此处返回的上下文对象可能与从 GetOriginalObject 提取的原始对象相同,也可能不相同。 如果键位于父模型上,并且存在与该父模型关联的上下文调整器,则原始对象是在其上调用 GetKeyReference 或 EnumerateKeyReferences 的实例对象。 上下文对象将是原始对象与父模型之间的最终上下文调整器(包含此键引用为句柄的键)之间的任何内容。 如果没有上下文调整器,则原始对象和上下文对象是相同的。

语法

HRESULT GetContextObject(
  IModelObject **containingObject
);

参数

containingObject

将传递给任何属性访问器方法的上下文对象在此处返回。

返回值

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

注解

代码示例

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

ComPtr<IModelKeyReference> spKeyRef;
if (SUCCEEDED(spObject->GetKeyReference(L"Id", &spKeyRef, nullptr)))
{
    ComPtr<IModelObject> spContextObject;
    if (SUCCEEDED(spKeyRef->GetContextObject(&spContextObject)))
    {
        // spObject and spContextObject should be the same.
        // This is *NOT* true if there was an intervening call to OverrideContextObject 
    }
}

要求

要求
Header dbgmodel.h

另请参阅

IModelKeyReference2 接口