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 de qualquer 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 de linguagem dinâmica. 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.
Retornar valor
Esse método retorna HRESULT que indica êxito ou falha.
Comentários
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 |