我正在尋找一個函數(也許有一個在.Net框架中),我可以用它來驗證C#語法。它也可以是一個帶有內置驗證的c#解析器。驗證C#語法與C#
背景:我正在構建一個小代碼生成器,用戶可以在其中輸入一些定義並獲取完整的實現屬性等,但我想檢查用戶是否輸入了正確的C#,並且結果是否正確。
編輯:
我不想編譯的代碼,它可能是uncomplete代碼。這樣,例如,用戶可以從他的代碼輸入一個代碼片斷帶班,我不知道,我只是想驗證語法,而不是「內容」
例子
輸入:
Car car = new Car();
car.drive("50");
輸出:
Same as input, because it's valid and nothing to do.
輸入:
Car car = new Car()
car.drive("50");
輸出:
Message that it is not valid, beause of missing ';'
等
我不知道類Car
,所以我不能編譯它,我只是想檢查語法。
C#已經有一個自己的內置編譯器,它必須驗證它編譯的代碼 –
是的,我知道,但我想檢查正在運行的c#程序的語法(代碼只是在TextBox),它不會被我的程序編譯 – Tokk
快速嘗試編譯代碼有什麼缺點?沒有其他「真實」的方式來確定它是否完全有效。除非你嘗試編譯它,否則你不會知道 –