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

Я использую 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 Ответ

1 голос
/ 23 ноября 2012

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

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

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

...