Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die OverrideContextObject-Methode (nur für IModelKeyReference2) 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 Eigenschaftsaccessors ü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 Sprachverhaltensweisen 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 beliebigen zugrunde liegenden Eigenschaftenaccessors übergeben werden soll.
Rückgabewert
Diese Methode gibt HRESULT zurück, das Erfolg oder Fehler angibt.
Bemerkungen
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 |