Partager via


IModelKeyReference2 ::OverrideContextObject, méthode (dbgmodel.h)

La méthode OverrideContextObject (présente uniquement sur IModelKeyReference2) est une méthode avancée utilisée pour modifier définitivement l’objet de contexte que cette référence de clé transmet à toutes les méthodes GetValue ou SetValue de l’accesseur de propriété sous-jacente. L’objet passé à cette méthode est également retourné à partir d’un appel à GetContextObject. Cette méthode peut être utilisée par les fournisseurs de script pour répliquer certains comportements de langage dynamique. La plupart des clients ne doivent pas appeler cette méthode.

Syntaxe

HRESULT OverrideContextObject(
  IModelObject *newContextObject
);

Paramètres

newContextObject

Nouvel objet de contexte à transmettre aux méthodes GetValue ou SetValue de l’accesseur de propriété sous-jacent.

Valeur de retour

Cette méthode retourne HRESULT qui indique la réussite ou l’échec.

Remarques

Exemple de code

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.
        }
    }
}

Exigences

Exigence Valeur
d’en-tête dbgmodel.h

Voir aussi

interface IModelKeyReference2