微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

当使用T4生成C#代码时,我无法通过散布的TABS获得正确的标识:
public partial class Foo : Base
{
        public int C { get; set; }
        [MappedProperty("A.B[{C}].Foo")]
    public int Foo { get; set; }
}

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

public partial class <#= viewmodelName #>
{
    <#  foreach(var property in viewmodelProperties) { #> 
        <# if(property.Mapping != null) { #>
        [MappedProperty("<#= property.Mapping #>")]
        <# } #>
        public <#= property.TypeDeclaration #> <#= property.MemberName #> { get; set; }
    <# } #>
}

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

解决方法

我喜欢这样做,从来没有遇到任何问题.
public partial class <#= viewmodelName #>
{
<#
    foreach(var property in viewmodelProperties) { 
        if(property.Mapping != null) { 
#>
    [MappedProperty("<#= property.Mapping #>")]
<#
        }
#>
    public <#= property.TypeDeclaration #> <#= property.MemberName #> { get; set; }
<#
    }
#>
}

原文地址:https://www.jb51.cc/csharp/92514.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐