J'ai une méthode FindAll sur mon DataAccessLayer qui ressemble à ceci:Puis-je transmettre un objet type à une méthode générique?
public FindResult<T> FindAll<T>() where T : Entity, new()
et un code client qui a un tableau de type [] dont il a besoin d'utiliser pour appeler itérativement la méthode FindAll avec comme ceci:
foreach (var type in typeArray)
{
var result = DataAccessLayer.FindAll<type>();
...
mais le compilateur se plaint de "Type ou espace de noms attendu". Y at-il un moyen facile de contourner ce problème? J'ai essayé type.GetType() ou typeof (type) et aucun travaillé.
Merci beaucoup d'avance!
Est-ce parce que C# ne supporte pas le typage dynamique (j'ai entendu dire qu'il est supporté dans C# 4.0) que mon code original n'a pas fonctionné? – theburningmonk
Je ne suis pas sûr si le support dynamique dans C# 4 vous permettrait de faire ceci d'une manière différente, puisque je ne sais pas comment vous pourriez fournir le type générique dynamique là non plus. Mais je ne l'ai pas essayé ... – Lucero