Partager via


IModelKeyReference ::SetKeyValue, méthode (dbgmodel.h)

La méthode SetKeyValue sur une référence de clé se comporte comme la méthode SetKeyValue sur IModelObject. Elle affecte la valeur de la clé. Si la clé d’origine était un accesseur de propriété, cela appelle la méthode SetValue sous-jacente sur l’accesseur de propriété plutôt que de remplacer l’accesseur de propriété lui-même.

Syntaxe

HRESULT SetKeyValue(
  IModelObject *object
);

Paramètres

object

Valeur à affecter à la clé.

Valeur de retour

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

Remarques

Exemple de code

ComPtr<IDataModelManager> spManager; /* get the data model manager */
ComPtr<IModelObject> spObject;       /* get an object */

ComPtr<IModelKeyReference> spKeyRef;
if (SUCCEEDED(spObject->GetKeyReference(L"Id", &spKeyRef, nullptr)))
{
    VARIANT vtValue;
    vtValue.vt = VT_UI8;
    vtValue.ullVal = 42;

    ComPtr<IModelObject> sp42;
    if (SUCCEEDED(spManager->CreateIntrinsicObject(ObjectIntrinsic, &vtValue, &sp42)))
    {
        if (SUCCEEDED(spKeyRef->SetKeyValue(sp42.Get())))
        {
            // The value of the "Id" key is now 42.  If the "Id" key originally 
            // was a property accessor, this successfully called
            // the SetValue() method on the property accessor.  In such a case, 
            // the property accessor was not replaced with the static 42, 
            // it was called to set the value 42.
        }
    }
}

Exigences

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

Voir aussi

interface IModelKeyReference