Как я могу получить свойства модели, используя шаблон T4

Я использую T4Scaffolding, и попытался создать собственный шаблон Scaffold. Это не проект 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.net???

Спасибо за любой комментарий...

1 ответ

Предполагая, что вы передаете модель со свойством ViewDataType Вы можете получить свойства типа, используя следующий код:

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

Надеюсь, это поможет.

Другие вопросы по тегам