Compartilhar via


Método IModelKeyReference2::OverrideContextObject (dbgmodel.h)

O método OverrideContextObject (presente apenas em IModelKeyReference2) é um método avançado que é usado para alterar permanentemente o objeto de contexto que essa referência de chave passará para os métodos GetValue ou SetValue do acessador de propriedade subjacente. O objeto passado para esse método também será retornado de uma chamada para GetContextObject. Esse método pode ser usado por provedores de script para replicar determinados comportamentos dinâmicos de linguagem. A maioria dos clientes não deve chamar esse método.

Sintaxe

HRESULT OverrideContextObject(
  IModelObject *newContextObject
);

Parâmetros

newContextObject

O novo objeto de contexto a ser passado para os métodos GetValue ou SetValue de qualquer acessador de propriedade subjacente.

Valor de retorno

Esse método retorna HRESULT que indica êxito ou falha.

Observações

de exemplo de código

ComPtr<IModelObject> spObject;          /* get an object */
ComPtr<IModelObject> spAdjustedContext; /* get the object you'd like to adjust context to */

ComPtr<IModelKeyReference> spKeyRef;
if (SUCCEEDED(spObject->GetKeyReference(L"Id", &spKeyRef, nullptr)))
{
    // At this moment, spKeyRef->GetContextObject() and 
    // spKeyRef->GetOriginalObject() will return the same value
    ComPtr<IModelKeyReference2> spKeyRef2;
    if (SUCCEEDED(spKeyRef.As(&spKeyRef2)))
    {
        if (SUCCEEDED(spKeyRef2->OverrideContextObject(spAdjustedContext.Get())))
        {
            // Now, spKeyRef->GetContextObject() will return spAdjustedContext 
            // and spKeyRef->GetOriginalObject() will return spObject
            // Very few clients will want to do this.  It is useful for some 
            // bridges between dynamic languages and the data model.
        }
    }
}

Requisitos

Requisito Valor
cabeçalho dbgmodel.h

Consulte também

interface IModelKeyReference2