2
私のクラスのDTO構造を記述するT4テンプレートがあります。私はテンプレートに次のコードを追加することにしました:T4コンパイラは、コードにコメントを挿入します。 '[' '
<# if(prop.TypeUsage.EdmType.Name.ToLower() == "datetime") { #>
<#= [DisplayFormat(DataFormatString = "{0:mm/dd/yyyy}")] #>
<# } #>
コンパイルするとエラーが発生します。私はT4が内蔵された中間コードを見たとき、私は以下を参照してください。
#line 55 "C:\Users\Lou\Documents\Visual Studio 2010\Projects\...\DTO_Generator.tt"
this.Write(Microsoft.VisualStudio.TextTemplating.ToStringHelper.ToStringWithCulture(//[DisplayFormat(DataFormatString = "{0:mm/dd/yyyy}")]));
はどうやらコンパイラが前に "//" 入れている "[displayFormatに(DataFormatString =" {0:MM/dd/yyyy} ")]"その行の最後にある ')'を削除します。私はエスケープして、問題を引き起こしていると思われる「[」を二重にしようとしました。
T4がコードに「//」を入れるのを避ける方法はありますか?
ありがとうございました。
はい、そうです。それは動作します。ありがとう – Weej