IModelKeyReference2::OverrideContextObject-Methode (dbgmodel.h)
Die OverrideContextObject-Methode (nur in IModelKeyReference2 vorhanden) ist eine erweiterte Methode, die verwendet wird, um das Kontextobjekt dauerhaft zu ändern, das dieser Schlüsselverweis an die GetValue- oder SetValue-Methoden des zugrunde liegenden Eigenschaftenzugriffsgebers übergeben wird. Das an diese Methode übergebene Objekt wird auch von einem Aufruf von GetContextObject zurückgegeben. Diese Methode kann von Skriptanbietern verwendet werden, um bestimmte dynamische Sprachverhalten zu replizieren. Die meisten Clients sollten diese Methode nicht aufrufen.
Syntax
HRESULT OverrideContextObject(
IModelObject *newContextObject
);
Parameter
newContextObject
Das neue Kontextobjekt, das an die GetValue- oder SetValue-Methoden eines zugrunde liegenden Eigenschaftenzugriffsgebers übergeben werden soll.
Rückgabewert
Diese Methode gibt HRESULT zurück, das den Erfolg oder Fehler angibt.
Hinweise
Codebeispiel
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.
}
}
}
Anforderungen
Anforderung | Wert |
---|---|
Header | dbgmodel.h |