2013-02-12 127 views
2

我使用CodeDom編譯器來動態編譯用戶定義的腳本。我們正在使用C#腳本作爲標準,但我想知道是否有辦法支持所有CLI語言。爲此,我必須檢測在此特定源代碼中使用的CLI語言。CLI語言檢測

是否有一些優雅的方式如何從源代碼中只檢測CLI語言?

由於

+2

有非常多的CLI語言。 http://en.wikipedia.org/wiki/List_of_CLI_languages – SLaks 2013-02-12 21:22:54

+1

爲什麼你必須從源代碼中檢測到它,而不是從其他地方獲取這些信息?我真的不想讓程序猜測。 – delnan 2013-02-12 21:30:39

+1

當然,獲取這些信息當然是一種選擇。我只是想知道是否有一些隱藏的.NET功能,我從來沒有聽說過。我認爲將語言限制爲僅支持CodeDOM(C#,Visual Basic,C++,J#和JScript)的語言是合理的。 – Biggles 2013-02-12 21:35:22

回答

0

只有3種語言的量,框架提供了一個CodeDomProvider:C#,JScript和VB。因此,如果框架提供了任何直接解析「任何語言」的方法,它只能支持這三種語言。我不認爲它確實如此。

您可能想嘗試使用CodeDomProvider的所有三個實現來解析代碼,並保持第一個成功。它將需要十幾行代碼。

我認爲這可能是你最好的嘗試。

的文檔CodeDomProvider:http://msdn.microsoft.com/en-us/library/ds075xdx.aspx 的文檔CodeDomProvider.Parse:http://msdn.microsoft.com/en-us/library/system.codedom.compiler.codedomprovider.parse%28v=vs.110%29.aspx