IDynamicKeyProviderConcept 介面 (dbgmodel.h)

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

物件是索引鍵的動態提供者,希望從核心資料模型接管所有金鑰查詢。 此介面通常用來作為 JavaScript 等動態語言的橋接器。

繼承

IDynamicKeyProviderConcept interits from 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++ 概觀