Partager via


Méthode IModelKeyReference2 ::OverrideContextObject (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é passera aux méthodes GetValue ou SetValue de tout accesseur de propriété sous-jacent. 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 scripts 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 à passer aux méthodes GetValue ou SetValue de l’accesseur de propriété sous-jacent.

Valeur retournée

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

Configuration requise

Condition requise Valeur
En-tête dbgmodel.h

Voir aussi

Interface IModelKeyReference2