IDynamicKeyProviderConcept 介面 (dbgmodel.h)

如果用戶端想要接管物件的密鑰和值的儲存,它可以實作這個概念介面。

對像是索引鍵的動態提供者,希望從核心數據模型接管所有密鑰查詢。 此介面通常用來作為 JavaScript 等動態語言的網橋。

繼承

IDynamicKeyProviderConcept 繼承自 IUnknown。

方法

IDynamicKeyProviderConcept 介面具有這些方法。

 
IDynamicKeyProviderConcept::AddRef

IDynamicKeyProviderConcept::AddRef 方法會遞增對象上介面的參考計數。
IDynamicKeyProviderConcept::EnumerateKeys

動態索引鍵提供者上的 EnumerateKeys 方法實際上是 IModelObject 上 EnumerateKeys 方法的覆寫。
IDynamicKeyProviderConcept::GetKey

動態密鑰提供者上的 GetKey 方法主要是 IModelObject 上的 GetKey 方法覆寫。
IDynamicKeyProviderConcept::QueryInterface

IDynamicKeyProviderConcept::QueryInterface 方法會擷取對象上支援介面的指標。
IDynamicKeyProviderConcept::Release

IDynamicKeyProviderConcept::Release 方法會遞減物件上介面的參考計數。
IDynamicKeyProviderConcept::SetKey

動態密鑰提供者上的 SetKey 方法實際上是 IModelObject 上 SetKey 方法的覆寫。

備註

動態提供者概念

雖然數據模型本身通常會處理物件的重要和概念管理,但有時候該概念小於理想。 特別是,當用戶端想要在數據模型與真正動態 (的其他項目之間建立網橋時,例如:JavaScript) ,從數據模型中的實作接管重要和概念管理可能很重要。 因為核心數據模型是 IModelObject的唯一實作,而是透過兩個概念的組合來完成:動態主要提供者概念和動態概念提供者概念。 雖然一般會同時實作兩者或兩者皆不實作,但不需要這麼做。

如果實作這兩者,則必須在動態概念提供者概念之前新增動態主要提供者概念。 這兩個概念都是特殊的。 它們有效地在物件上翻轉參數,將它從「靜態管理」變更為「動態管理」。 只有在對象上沒有數據模型所管理的索引鍵/概念時,才能設定這些概念。 一旦將這些概念新增至 對象,執行這項作業的動作便無法撤銷。 IModelObject 之間的擴充性有額外的語意差異,這是動態概念提供者,另一個不是。 這些概念旨在允許用戶端建立數據模型與動態語言系統之間的網橋,例如 JavaScript。 數據模型的概念是擴充性的概念,其基本上與 JavaScript 之類的系統不同,因為父模型有樹狀結構,而不是 JavaScript 原型鏈結之類的線性鏈結。 為了讓這類系統有更好的關聯性, IModelObject 是動態概念提供者具有單一數據模型父代。 該單一數據模型父系是一般 IModelObject ,其可以有任意數目的父模型,如同數據模型一般。 新增或移除父系之動態概念提供者的任何要求都會自動重新導向至單一父系。 從外部的觀點來看,動態概念提供者似乎具有父模型的一般樹狀結構樣式鏈結。 動態概念提供者概念的實作者是核心數據模型外部的唯一物件 (,) 知道中繼單一父系。 該單一父代可以與動態語言系統連結,以提供網橋 (例如:放置在 JavaScript 原型鏈結) 。

規格需求

需求
標頭 dbgmodel.h

另請參閱

調試程序數據模型 C++ 概觀