2011-05-17 81 views
0

我正在嘗試編寫一些T4模板來從我的域項目中的物理UML類圖生成基本類定義。然而,我在Web上看到的所有用於從UML類圖生成代碼的T4示例均基於建模項目(.modelproj)。是否可以使用T4模板來檢查和生成不在VS2010建模項目中的UML類圖的代碼?我不能在建模項目中使用使用類圖,因爲它們是邏輯的,因此任何類屬性都被限制爲四種基本類型。在非建模項目中生成VS2010 UML類圖的類代碼

回答

1

有2種Visual Studio類圖:只能在.modelproj項目中打開的UML .classdiagram文件;以及可以使用解決方案資源管理器中的「查看類圖」命令從代碼文件中獲取的.NET類圖。我不清楚你正在使用哪一個,因爲如果你有後者,你已經有了一些代碼。

順便說一句,你實際上可以在UML類圖中使用任何類型的屬性。在模型瀏覽器中,右鍵單擊以獲取根節點上的快捷菜單,然後選擇添加外部類型。您可以輸入任何名稱空間和類型名稱。然後,該類型出現在菜單中,用於設置類屬性的類型。

+0

當我右鍵單擊模型資源管理器根模式時,我看不到'添加外部類型'菜單選項。無論如何,我現在通過使用.edmx模型來解決這個問題。我已經編輯並複製了您在Entity Framework項目中獲得的T4模板代碼,以生成基於NHibernate的實體。 – 2011-05-18 08:06:12

+0

我會接受你的回答作爲答案,因爲你向我提供了關於兩個類圖之間差異的很好的解釋。 – 2011-05-18 08:14:47