專案模型
您的專案實作標準專案物件,提供自動化的下一步: Projects和ProjectItems集合。 the Project and ProjectItem objects; 與您的實作只用於其餘的物件。 這些標準的物件被定義在 Dteinternal.h 檔案中。 BscPrj 範例中,提供標準的物件的實作。 您可以使用這些類別為模型來建立您自己突顯並排顯示的標準專案物件與其他專案類型的專案物件。
自動化消費者假設,才能夠呼叫Solution("<UniqueProjName>") 和ProjectItems (n), n以取得特定方案的專案中的索引編號。 此自動化呼叫會造成環境以呼叫GetProperty上適當的專案階層架構,為項目識別碼參數而 VSHPROPID_ExtObject 與 VSHPROPID 參數中傳遞 VSITEMID_ROOT。 IVsHierarchy::GetProperty傳回IDispatch提供核心的自動化物件指標Project已實作的介面。
下面是語法IVsHierarchy::GetProperty。
HRESULT GetProperty (
VSITEMID itemid,
VSHPROPID propid,
VARIANT *pvar
);
專案容納巢狀結構,並使用集合來建立的專案項目群組。 階層架構看起來像這樣。
Projects
|– Project
|– ProjectItems (a collection of ProjectItem)
|– ProjectItem (single object) or ProjectItems (another collection)
指的是巢狀結構ProjectItem物件可以是ProjectItems集合,同時因為ProjectItems集合可以包含巢狀的物件。 基本專案範例不會示範這個巢狀結構。 藉由實作Project物件時,您參與特性化整體的 automation 模型的設計類似樹狀結構的結構。
專案自動化依照下圖中的路徑。
專案自動化
如果您不會實作Project物件時,環境仍會傳回泛型Project物件,其中包含專案的名稱。