要做一个根本向导生成规则模版的功能。
想起了动软的代码生成器,看了下他的模版写法,觉得很好。但不知道怎么做的,比如模版中的判断语句:
<#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; }
        }        
<# } #>他是怎么判断这些标题匹配替换的。这些标签应该就是程序里的特定属性或者类。

解决方案 »

  1.   

    这个很简单,他把数据库里面读取的表信息(表名,列名,描述信息,宽度,数据类型,是否自增,是否主键,是否外键等)信息都读出来来了,然后循环列,就逐个替换了.<#=#>里面的代码就是c#代码,可以自己随便写.外面的是直接显示的字符串,写什么,生成出来就显示什么.可以参见它的模板来,你所要的属性基本上都有了