1

ASP.NET MVC 控制器类中的 UpdateModel 有很多重载。

其中有些是通用的,有些则不是。

显然我想使用通用版本,但我看不到它实际上对我有什么作用?UpdateModel 不只是一种使用反射填充属性的方法。

那么这之间有什么区别:

        UpdateModel<ContestModel>(model);

对比

        UpdateModel(model);

如果它知道类型,反射是否会更快一点 - 还是有其他原因?

4

1 回答 1

6

UpdateModel没有泛型类型签名就不存在任何重载。您所看到的是编译器的智能程度。当调用具有泛型签名的方法并且其中一个参数是相同的泛型类型时,编译器会为您推断类型。

换句话说,您发布的这两个示例在编译器眼中完全相同。

于 2009-01-31T10:00:55.703 回答