2016-09-29 25 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