Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 los métodos GetValue o SetValue de cualquier 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.
Observaciones
de ejemplo de código de
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 |
|---|---|
| encabezado de | dbgmodel.h |