2011-05-03 78 views
2

我正在使用T4Scaffolding,并尝试创建自定义的Scaffold模板。这不是asp.net项目,不是MVC。如何使用T4模板获取模型属性

我的用户等级:

public class User 
    { 
    public int Id {get;set;} 
    public string Name {get; set;} 
    } 
在.cs.t4文件

,我需要得到用户的属性,我试图用:

var propertyInfos = typeof(Model.).GetProperties(BindingFlags.Public | 
               BindingFlags.Static); 
foreach (PropertyInfo propertyInfo in propertyInfos) 

...

但它没有工作,我知道在asp.net mvc我可以使用

foreach (ModelProperty property in GetModelProperties(Model.ViewDataType, false)) 

什么是asp.net中的正确方法?

感谢任何评论...

+0

也许这个问题可能是有用的http://stackoverflow.com/questions/7558809/reflection-with-t4-templates – FelixMM 2011-12-29 15:53:44

回答

1

假设你传递一个模型属性ViewDataType您可以用下面的代码获取类型的属性:

var modelType = (EnvDTE.CodeType) Model.ViewDataType; 
var modelProperties = modelType.VisibleMembers().OfType<EnvDTE.CodeProperty>(); 

希望有所帮助。

+0

嗨,如何fet模型,是否需要添加任何外部参考在我的Create.cs中。 t4文件。 – 2015-12-18 07:32:05