2009-01-31 3 views
1

Есть много перегрузок для UpdateModel в классе контроллера ASP.NET MVC.Каким образом Generic UpdateModel <T> отличается от UpdateModel в MVC 'Controller'?

Некоторые из них являются общими, а некоторые нет.

Очевидно, я хочу использовать общую версию, но я не вижу, что она на самом деле делает для меня? Не UpdateModel - это просто способ заполнения свойств с помощью отражения.

Так в чем разница между этим:

 UpdateModel<ContestModel>(model); 

против

 UpdateModel(model); 

Является отражением только немного быстрее, если он знает, тип - или есть другая причина?

ответ

6

Не существует UpdateModel перегрузки без подписи общего типа. То, что вы видите, насколько разумным является компилятор. При вызове метода с общей сигнатурой, и один из параметров является тем же общим типом, компилятор выводит тип для вас.

Другими словами, эти два примера, которые вы опубликовали, точно такие же, как в глазах компилятора.

+0

ahh, что имеет смысл. Думаю, я пропустил это, если он появится где-то еще в рамках. благодаря –