2016-09-29 55 views
0

我正在編寫一些代碼生成器。由此生成的每個源代碼文件都應該以特殊的cvs命令$id$開頭,該命令在簽入時會被CVS取代。

所以我有這樣的代碼:

code.Comments.Add(new CodeCommentStatement("$Id$")); 

哪裏codeSystem.CodeDom.CodeNamespace類型。

但是,代碼生成器本身託管在我們的版本控制系統上,因此我的生成器源代碼中的"$id"部分也在簽入時被替換。

如何逃避序列,使字符串不被替換?

回答

1

只是分割它或創建一個變量。像這樣的東西。 (請原諒我的不正確可能的Java語法。)

code.Comments.Add(new CodeCommentStatement("$I" + "d$")); 

var dollar='$'; 
code.Comments.Add(new CodeCommentStatement(dollar+"Id"+dollar)); 

同時您還可以使CVS(-kb)該腳本文件的二進制,我不認爲這是可取的。

+0

最好的想法是你沒有的。感謝這個簡單但輝煌的答案。 – HimBromBeere