345 votes

Méthode générique avec plusieurs contraintes

J'ai une méthode générique qui a deux paramètres génériques. J'ai essayé de compiler le code ci-dessous mais cela ne fonctionne pas. Est-ce une limitation .NET? Est-il possible d'avoir plusieurs contraintes pour différents paramètres?

 public TResponse Call<TResponse, TRequest>(TRequest request)
  where TRequest : MyClass, TResponse : MyOtherClass
 

542voto

LukeH Points 110965

Il est possible de faire cela, vous avez juste la syntaxe légèrement fausse. Vous avez besoin d'un where pour chaque contrainte plutôt que de les séparer par une virgule:

 public TResponse Call<TResponse, TRequest>(TRequest request)
    where TRequest : MyClass
    where TResponse : MyOtherClass
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X