2016-09-29 14 views
0

コードジェネレータを書いています。これによって生成されるすべてのソースコードファイルは、特別なcvsコマンド$id$で始まり、チェックイン時にCVSに置き換えられます。 codeはタイプSystem.CodeDom.CodeNamespaceである

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

は、だから私はこのコードを持っています。

しかし、コードジェネレータ自体は私たちのバージョン管理システム上でホストされているため、私の発電機内の"$id"部分はチェックイン時に置き換えられます。

文字列が置き換えられないようにシーケンスをエスケープするにはどうすればよいですか?

答えて

1

これを分割するか、変数を作成するだけです。このようなもの。 (私のおそらく間違ったJava構文を許して。)

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

または

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

あなたはまた、CVS(-kb)でそのスクリプトファイルのバイナリを作ることができますが、私はそれが賢明だとは思いません。

+0

最高のアイデアは、あなたが持っていないものです。このシンプルで華麗な答えをありがとう。 – HimBromBeere

関連する問題