Metodo IModelKeyReference2::OverrideContextObject (dbgmodel.h)
Il metodo OverrideContextObject (presente solo in IModelKeyReference2) è un metodo avanzato usato per modificare definitivamente l'oggetto contesto che questo riferimento chiave passerà a qualsiasi metodo GetValue o SetValue della proprietà sottostante. L'oggetto passato a questo metodo verrà restituito anche da una chiamata a GetContextObject. Questo metodo può essere usato dai provider di script per replicare determinati comportamenti del linguaggio dinamico. La maggior parte dei client non deve chiamare questo metodo.
Sintassi
HRESULT OverrideContextObject(
IModelObject *newContextObject
);
Parametri
newContextObject
Nuovo oggetto contesto da passare ai metodi GetValue o SetValue della proprietà sottostanti.
Valore restituito
Questo metodo restituisce HRESULT che indica l'esito positivo o l'errore.
Commenti
Codice di esempio
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.
}
}
}
Requisiti
Requisito | Valore |
---|---|
Intestazione | dbgmodel.h |