1

如何從Visual Studio插件中訪問當前打開的項目的類型(類)(能夠在加載項中創建這些類的實例)?這是否可以通過反思?或者,也許動態地將項目的程序集作爲參考?如何從Visual Studio加載項訪問當前打開的項目類型(類)?

我最後想要的是從項目中可以訪問的所有類型的列表,同時考慮項目本身中聲明的引用程序集和類型。如果沒有方法來實際查找Type實例,可以使用類型名稱列表 - 這樣,如果項目尚未構建並且其中的類型尚未實現,我將不會遇到問題。

我使用Visual Studio 2008,我更喜歡的語言是C#。

編輯:我想我可以解析每個文件並尋找類聲明,但我想考慮引用程序集的類型。可以通過搜索「使用」語句來尋找引用,但這會導致動態導入的dll類型成爲一個公開問題。因此,考慮到分立的情況分支考慮,我想知道是否沒有更簡單的方法。

+0

這聽起來並不好。項目是源代碼文件的集合。在項目編譯沒有錯誤之前,沒有具體的類型實現。 – 2010-02-13 20:38:42

+0

我假設我已經有了一個從項目生成的編譯和現有的程序集。由於在實際存在之前不依賴它,可能有方法來搜索它是否存在? – luvieere 2010-02-13 20:59:41

回答

1

當然,只需從輸出目錄獲取程序集並加載它即可。我現在不在任何EnvDTE項目中工作,所以我不能只是彈出並敲出示例,但這就是您如何枚舉/實例化類的過程。

但是.... nobugz暗示有什麼東西聞到..你想做什麼?可能有更好的方法來做到這一點。

相關問題