Método IModelKeyReference2::OverrideContextObject (dbgmodel.h)
El método OverrideContextObject (solo presente en IModelKeyReference2) es un método avanzado que se usa para modificar permanentemente el objeto de contexto que esta referencia de clave pasará a cualquier método GetValue o SetValue del descriptor de acceso de propiedad subyacente. El objeto pasado a este método también se devolverá desde una llamada a GetContextObject. Los proveedores de scripts pueden usar este método para replicar determinados comportamientos de lenguaje dinámico. La mayoría de los clientes no deben llamar a este método.
Sintaxis
HRESULT OverrideContextObject(
IModelObject *newContextObject
);
Parámetros
newContextObject
Nuevo objeto de contexto que se va a pasar a los métodos GetValue o SetValue de cualquier descriptor de acceso de propiedad subyacente.
Valor devuelto
Este método devuelve HRESULT que indica éxito o error.
Comentarios
Ejemplo 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 |
---|---|
Header | dbgmodel.h |