IModelKeyReference::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 
    }
}

要求

要求 价值
标头 dbgmodel.h

另请参阅

IModelKeyReference 接口