2012-08-05 48 views

回答

10

你需要解析你的代碼才能做到這一點。我認爲你不能用反思去做。 MS一直在致力於一個名爲Roslyn的項目。這是.NET編譯器的一種API。它應該爲你提供你所需要的。查看this的帖子瞭解Roslyn項目的細節。從崗位

報價:爲VS擴展寫強大 重構和語言分析工具,以及允許任何人以 將我們的解析器,語義引擎,代碼生成器和

這開闢了新的機遇 腳本在他們自己的應用程序。

This post演示使用符號。
This post回答了獲取所有參考的問題。

4

說實話,我從來沒有這樣做過,因爲我從來不需要這樣的事情。

要獲得某種信息,您需要訪問編譯器的Token Tree,構建爲semantic analysis

那樣的信息,肯定您可以從Roslyn(API for C#編譯器)訪問。您可以在API函數中輸入C#文本,在其上運行編譯器並恢復Tokens tree

The Roslyn Project Overview

希望這有助於。

0

據我所知,沒有辦法找到解決方案中所有項目的所有用法。如果您的類具有唯一的名稱,則Visual Studio的搜索功能具有「整個解決方案」搜索範圍,該搜索範圍將查找解決方案中每個文件中的確切搜索文本。

這並不是每次使用你的方法,因爲它也匹配註釋,類似命名的字段,任何具有相同字符串的東西,但這是一個好的開始。

相關問題