如何使用T4模板获取模型属性

发布于 2024-11-04 13:20:53 字数 661 浏览 0 评论 0原文

我正在使用 T4Scaffolding,并尝试创建自定义脚手架模板。这不是 ASP.NET 项目,也不是 MVC。

我的用户类:

   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中正确的方法是什么。网 ???

感谢您的任何评论...

I am using T4Scaffolding, and tried to create a custom Scaffold template. It's not asp.net project, not MVC.

My user class :

   public class User
   {
     public int Id {get;set;}
     public string Name {get; set;}
   }

in the .cs.t4 file , I need to get the user properties ,I tried to use:

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

...

but It did not work, I know in asp.net mvc I can use

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

What's the correct method in asp.net ???

Thanks for any comment ...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

玻璃人 2024-11-11 13:20:53

假设您正在传递带有属性 ViewDataType 的模型,您可以使用以下代码获取该类型的属性:

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

希望有帮助。

Assuming you are passing a model with property ViewDataType you can get the properties of the type using the following code:

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

Hope that helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文