ASP.NET MVC控制器类中的UpdateModel有很多重载。
其中一些是通用的,有些则不是。
显然我想使用通用版本,但我看不出它对我的影响是什么? UpdateModel不是一种使用反射填充属性的方法。
那么它之间的区别是什么:
UpdateModel<ContestModel>(model);
VS
UpdateModel(model);
如果它知道类型,反射会更快一点 - 还是有另一个原因?
答案 0 :(得分:6)
没有通用类型签名,不存在任何UpdateModel
重载。你所看到的,编译器是多么聪明。当调用具有通用签名的方法并且其中一个参数是相同的泛型类型时,编译器会为您推断出类型。
换句话说,您发布的那两个示例在编译器的眼中完全相同。