你能在 t4 模板中检测到类的继承属性吗?
我有两个类,如下所示:
public class User : ManagedRecord
{
public int UserId { get; set;}
public string UserName { get; set;}
}
public abstract class ManagedRecord
{
public int Deleted { get; set;}
public DateTime CreatedDate { get; set;}
}
当t4模板基于User创建字段时,它将首先放置ManagedRecord字段,然后是User字段。
有没有一种方法可以检测继承的类字段,以便我可以以不同的方式处理它们?
t4模板用于ASP.NET MVC 5编辑页面模板,根据使用的类创建表单字段。
t4代码如下:
<#@ template language="C#" HostSpecific="True" #>
<#@ output extension=".cshtml" #>
<#@ include file="Imports.include.t4" #>
@model <#= ViewDataTypeName #>
<#
string boolType = "System.Boolean";
int tabIndex = 1;
bool autofocus = true;
Version requiredMvcVersion = new Version("5.1.0.0");
bool isControlHtmlAttributesSupported = MvcVersion >= requiredMvcVersion;
foreach (PropertyMetadata property in ModelMetadata.Properties) {
if (property.Scaffold && !property.IsAssociation) {
#>
@Html.EditorFor(model => model.<#= property.PropertyName #>)
<#
}
#>