2009-01-31 9 views
1

Il existe de nombreuses surcharges à UpdateModel dans la classe de contrôleur ASP.NET MVC.Comment le Generic UpdateModel <T> diffère de UpdateModel dans MVC 'Controller'?

Certains d'entre eux sont génériques et d'autres non.

Évidemment, je veux utiliser la version générique, mais je ne vois pas ce que cela fait pour moi? UpdateModel n'est pas un moyen de remplir les propriétés en utilisant la réflexion.

Alors, quelle est la différence entre ceci:

 UpdateModel<ContestModel>(model); 

contre

 UpdateModel(model); 

est la réflexion un peu plus vite si elle connaît le type - ou est-il une autre raison?

Répondre

6

Il n'existe aucune surcharge UpdateModel sans la signature de type générique. Ce que vous voyez, c'est à quel point le compilateur est intelligent. Lorsque vous appelez une méthode avec une signature générique et que l'un des paramètres est le même type générique, le compilateur déduit le type pour vous. En d'autres termes, ces deux exemples que vous avez publiés sont exactement les mêmes aux yeux du compilateur.

+0

ahh c'est logique. Je suppose que j'ai manqué cela si elle apparaît ailleurs dans le cadre. Merci –

Questions connexes