要做一个根本向导生成规则模版的功能。
想起了动软的代码生成器,看了下他的模版写法,觉得很好。但不知道怎么做的,比如模版中的判断语句:
<#if (identityKey!=null) {#>
/// <summary>
/// 批量删除一批数据
/// </summary>
public bool DeleteList(string <#=identityKey.ColumnName#>list )
{
return dal.DeleteList(<#=identityKey.ColumnName#>list );
}
<#}#>迭代循环:
<# foreach (ColumnInfo c in host.Fieldlist)
{ #>/// <summary>
/// <#= string.IsNullOrEmpty(c.Description) ? c.ColumnName : c.Description #>
/// </summary>
private <#= CodeCommon.DbTypeToCS(c.TypeName) #> _<#= c.ColumnName.ToString().ToLower() #>;
public <#= CodeCommon.DbTypeToCS(c.TypeName) #> <#= c.ColumnName #>
{
get{ return _<#= c.ColumnName.ToString().ToLower()#>; }
set{ _<#= c.ColumnName.ToString().ToLower() #> = value; }
}
<# } #>他是怎么判断这些标题匹配替换的。这些标签应该就是程序里的特定属性或者类。
想起了动软的代码生成器,看了下他的模版写法,觉得很好。但不知道怎么做的,比如模版中的判断语句:
<#if (identityKey!=null) {#>
/// <summary>
/// 批量删除一批数据
/// </summary>
public bool DeleteList(string <#=identityKey.ColumnName#>list )
{
return dal.DeleteList(<#=identityKey.ColumnName#>list );
}
<#}#>迭代循环:
<# foreach (ColumnInfo c in host.Fieldlist)
{ #>/// <summary>
/// <#= string.IsNullOrEmpty(c.Description) ? c.ColumnName : c.Description #>
/// </summary>
private <#= CodeCommon.DbTypeToCS(c.TypeName) #> _<#= c.ColumnName.ToString().ToLower() #>;
public <#= CodeCommon.DbTypeToCS(c.TypeName) #> <#= c.ColumnName #>
{
get{ return _<#= c.ColumnName.ToString().ToLower()#>; }
set{ _<#= c.ColumnName.ToString().ToLower() #> = value; }
}
<# } #>他是怎么判断这些标题匹配替换的。这些标签应该就是程序里的特定属性或者类。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货