2010-02-12 83 views
2

是否有可能通過解析器或其他方式編輯c#代碼(在文件中)?我想爲該類自動添加一個新的屬性/方法/接口。有什麼東西已經存在?編輯.cs文件的解析器

感謝, EL

+0

這聽起來像是你的架構出了問題。我無法想象,爲什麼要這樣做。 – 2010-02-12 11:19:41

+0

所以我猜R#(和類似的工具)都是錯的...;) – Lucero 2010-02-12 11:20:45

+0

我必須添加一個接口並在生成的類的thouns上實現它。我不想手動執行此操作。如果這個用例還沒有被實現,我會寫我自己的小字符串解析器,它只是在文本文件中插入幾個字(在這種情況下是一個.cs文件) 因此,我的架構沒有問題:-) – elCapitano 2010-02-12 11:25:05

回答

1

有一個C# grammar for the Gold Parser(和.NET引擎來處理表),這樣你會發現你需要那裏。

+0

感謝您的維修人員,但我想這是對我的需求的矯枉過正 – elCapitano 2010-02-12 11:26:50

+0

那麼,如果您想要插入它的模式是事先知道的,基於正則表達式的解決方案可能是您的朋友。但這不是一個解析器,它並不「理解」它正在改變的代碼,相反,它最終創建了一個AST,並允許您執行consitent分析和更改(最終通過最終輸出最終代碼CodeDom或其他)。 – Lucero 2010-02-12 12:41:06