IModelKeyReference2::OverrideContextObject-Methode (dbgmodel.h)
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 |