IModelObject::SetKey 方法 (dbgmodel.h)
SetKey 方法是客户端将转向的方法,用于在对象 (创建密钥,并可能将元数据与创建的密钥) 相关联。 如果给定对象已具有具有给定名称的键,则会发生两种行为之一。 如果密钥位于由此提供的实例上,则将替换该键的值,就像原始键不存在一样。 另一方面,如果密钥位于由此提供的实例的父数据模型链中,则会在由此提供的实例上创建一个具有给定名称的新键。 这实际上会导致对象具有两个同名的键 (类似于派生类,该类隐藏与基类) 同名的成员。
语法
HRESULT SetKey(
PCWSTR key,
IModelObject *object,
IKeyStore *metadata
);
参数
key
要为其设置值的键的名称。
object
键的值将设置为此参数中包含的 对象。
metadata
要与新设置的键关联的可选元数据。
返回值
此方法返回指示成功或失败的 HRESULT。
注解
代码示例
ComPtr<IDataModelManager> spManager; /* get the data model manager */
// Create a new object with a property called "Test" with a value of 42.
ComPtr<IModelObject> spNewObject;
if (SUCCEEDED(spManager->CreateSyntheticObject(nullptr, &spNewObject)))
{
VARIANT vtVal;
vtVal.vt = VT_I4;
vtVal.lVal = 42;
ComPtr<IModelObject> sp42;
if (SUCCEEDED(spManager->CreateIntrinsicObject(ObjectIntrinsic, &vtVal, &sp42)))
{
if (SUCCEEDED(spNewObject->SetKey(L"Test", sp42.Get(), nullptr)))
{
// We have placed a static "42" on the new object under the key "Test"
}
}
}
要求
要求 | 值 |
---|---|
Header | dbgmodel.h |