生成的C#代码中的T4缩进

前端之家收集整理的这篇文章主要介绍了生成的C#代码中的T4缩进前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当使用T4生成C#代码时,我无法通过散布的TABS获得正确的标识:
  1. public partial class Foo : Base
  2. {
  3. public int C { get; set; }
  4. [MappedProperty("A.B[{C}].Foo")]
  5. public int Foo { get; set; }
  6. }

我正在使用看似正确缩进的.TT代码,类似于以下内容

  1. public partial class <#= viewmodelName #>
  2. {
  3. <# foreach(var property in viewmodelProperties) { #>
  4. <# if(property.Mapping != null) { #>
  5. [MappedProperty("<#= property.Mapping #>")]
  6. <# } #>
  7. public <#= property.TypeDeclaration #> <#= property.MemberName #> { get; set; }
  8. <# } #>
  9. }

代码段反映了我已经尝试过的操作:尽可能地将控制语句和块设置为单行.

解决方法

我喜欢这样做,从来没有遇到任何问题.
  1. public partial class <#= viewmodelName #>
  2. {
  3. <#
  4. foreach(var property in viewmodelProperties) {
  5. if(property.Mapping != null) {
  6. #>
  7. [MappedProperty("<#= property.Mapping #>")]
  8. <#
  9. }
  10. #>
  11. public <#= property.TypeDeclaration #> <#= property.MemberName #> { get; set; }
  12. <#
  13. }
  14. #>
  15. }

猜你在找的C#相关文章