关于CodeSmith主模板与子模板同时从一个基类继承后的参数传值问题(提供模板下载)
2010-03-19 17:20
417 查看
标题好像有点绕啊,
下面说一下场景吧,我有两个CodeSmith的模板Entity.cst与AllEntity.cst文件,它们同时都继承自CommonSqlCode.cs这个文件
代码如下:
<%@ CodeTemplate Language="C#" ResponseEncoding="UTF-8" Src="CommonSqlCode.cs" TargetLanguage="C#" Inherits="XH.CommonSqlCode" Debug="False" Description="Template description here." %>
Entity.cst用来生成单个的实体
AllEntity.cst调用Entity.cst实现批量生成实体
在CommonSqlCode.cs文件中我定义了一个公共的属性NameSpace.
开始我的理解是:运行AllEntity.cst的话,只发在AllEntity.cst中给NameSpace赋一次值,在Entity.cst中就可以访问到AllEntity.cst中设置的值,因为CommonSqlCode.cs是共用的嘛.
实际的结果是:Entity.cst中是没法取到AllEntity.cst中给NameSpace设置的值,必须在AllEnity.cst调用Entity.cst的时候,显示的传给Entity.cst.
可以这样写this.CopyPropertiesTo(subTemplate)或subTemplate.SetProperty("NameSpace", this.NameSpace)
呵,不知道是不是只有我一个人这样理解去了.
最后发一个我这几天学习CodeSmith写的一个类似Petshop结构的模板,除了UI层,其它基本上都有
http://files.cnblogs.com/builderman/codesmith_petshop_demo.rar
解压后在Template目录中有所有的模板,
可以直接运行ALL.cst来生成所有的代码,
也可以运行ALL开头的其它模板来生成某一部分文件,
或者运行非ALL开头的模板来生成单个的代码
直接打开解决方案可以查看用模板生成的代码
欢迎大家批评指正
下面说一下场景吧,我有两个CodeSmith的模板Entity.cst与AllEntity.cst文件,它们同时都继承自CommonSqlCode.cs这个文件
代码如下:
<%@ CodeTemplate Language="C#" ResponseEncoding="UTF-8" Src="CommonSqlCode.cs" TargetLanguage="C#" Inherits="XH.CommonSqlCode" Debug="False" Description="Template description here." %>
Entity.cst用来生成单个的实体
AllEntity.cst调用Entity.cst实现批量生成实体
在CommonSqlCode.cs文件中我定义了一个公共的属性NameSpace.
开始我的理解是:运行AllEntity.cst的话,只发在AllEntity.cst中给NameSpace赋一次值,在Entity.cst中就可以访问到AllEntity.cst中设置的值,因为CommonSqlCode.cs是共用的嘛.
实际的结果是:Entity.cst中是没法取到AllEntity.cst中给NameSpace设置的值,必须在AllEnity.cst调用Entity.cst的时候,显示的传给Entity.cst.
可以这样写this.CopyPropertiesTo(subTemplate)或subTemplate.SetProperty("NameSpace", this.NameSpace)
呵,不知道是不是只有我一个人这样理解去了.
最后发一个我这几天学习CodeSmith写的一个类似Petshop结构的模板,除了UI层,其它基本上都有
http://files.cnblogs.com/builderman/codesmith_petshop_demo.rar
解压后在Template目录中有所有的模板,
可以直接运行ALL.cst来生成所有的代码,
也可以运行ALL开头的其它模板来生成某一部分文件,
或者运行非ALL开头的模板来生成单个的代码
直接打开解决方案可以查看用模板生成的代码
欢迎大家批评指正
相关文章推荐
- 关于thinkphp部署到新浪云模板继承失效的问题
- 关于使用hessian提供下载服务的问题
- 关于Java本地下载模板,而服务器不行(File.separator)问题
- 关于不正常地定义参数对象。提供了不一致或不完整的信息或者MySQL server has gone away的问题总结
- 继承中关于基类私有方法的问题
- 关于C++模板封装的问题(关于C++模板参数的声明)
- 关于INFOPATH2007如何下载微软的模板问题
- 关于Scala子类继承父类属性的问题释疑---子类构造器参数不要与父类属性同名
- 关于继承类的指针指向基类的内存的问题
- 关于多重继承中覆盖虚基类的函数问题--《C++程序设计语言》
- 关于当前流行的 微博同步 问题(提供demo下载)
- 求助:关于const修饰模板参数的问题
- 继承和基类的虚函数的访问限制和默认参数值的问题
- 关于调用存储过程获取参数返回值和输出参数注意的问题
- java中关于参数传递问题的解释(传…
- [silverlight—wcf]参数:调试资源字符串不可用,秘钥和参数通常提供足够的信息用以诊断问题。
- 关于C#函数对象参数传递的问题
- java中关于继承的问题
- 关于iframe自适应高度,解决一个iframe动态改变url,改变页面同时解决高度自适应问题
- NHibernate2.0的codesmith模板下载