在 DSL 之間共用類別
在 Visual Studio 視覺效果和模型 SDK 中,您可以建立一個不完整的 DSL 定義,以匯入另一個 DSL。 此方法可讓您考慮類似模型的常見部分。
注意
文字範本轉換元件會作為 Visual Studio 延伸模組開發工作負載的一部分自動安裝。 您也可以從 Visual Studio 安裝程式的 [個別元件] 索引標籤加以安裝,其位於 [SDK、程式庫和架構] 底下。 從 [個別元件] 索引標籤安裝 Modeling SDK 元件。
建立 DSL 專案
建立新的 DSL 專案,然後選擇 DSL 程式庫方案範本。
使用空白模型建立單一 DSL 專案。
您可以新增領域類別、關聯性、圖形等。 程式庫中的專案不需要形成單一內嵌樹狀結構。 若要定義匯入工具可以使用的關聯性,請建立兩個網域類別,並建立它們之間的關聯性。
請考慮將網域類別的繼承修飾元設為
Abstract
。您可以新增您在 DSL 總管中定義的元素,例如連接產生器。
您可以新增需要更多程式碼的自訂項目,例如驗證條件約束。
選取 [轉換所有範本]。
組建專案。
當您散發 DSL 供其他人使用時,您必須同時提供編譯的組件 (DLL) 和檔案 DslDefinition.dsl。 您可以在 Dsl\bin* 下的資料夾中找到已編譯的組件。
匯入 DSL 程式庫
在另一個 DSL 定義中,在 DSL Explorer中,以滑鼠右鍵按一下 DSL 的根類別,然後選取 [新增 DslLibrary 匯入]。
在 [屬性] 視窗中,設定程式庫檔案路徑。 您可以使用相對路徑或絕對路徑。
匯入的程式庫會以唯讀模式出現在 DSL Explorer 中。
您可以使用匯入的類別作為基類。 在匯入 DSL 中建立網域類別,然後在 [屬性] 視窗中,將基底類別設為匯入的類別。
選取 [轉換所有範本]。
將 DSL 專案新增至 DSL 程式庫專案所建置之元件 (DLL) 的參考。
建置方案。