Comment obtenir le type d'une classe typée générique dans la classe?.NET: Comment vérifier le type dans une classe typée générique?
Un exemple:
je construis une collection typée générique mise en œuvre ICollection < T>. Au sein J'ai des méthodes telles que
public void Add(T item){
...
}
public void Add(IEnumerable<T> enumItems){
...
}
Comment puis-je demander à l'intérieur de la méthode pour le type donné T?
La raison de ma question est: Si objet est utilisé comme T la collection utilise Ajouter (point d'objet) au lieu de Ajouter (IEnumerable objet <> enumItems) même si le paramètre est IEnumerable. Ainsi, dans le premier cas, il ajouterait toute la collection énumérable en tant qu'objet au lieu de plusieurs objets de la collection énumérable.
donc je besoin de quelque chose comme
if (T is object) {
// Check for IEnumerable
}
mais bien sûr, qui ne peuvent pas travailler en C#. Suggestions?
Merci beaucoup!
Michael
Cela répond à la question posée dans le titre. – reads0520