169 votes

Tester si un objet est de type générique en C#

Je voudrais effectuer un test pour savoir si un objet est d'un type générique. J'ai essayé ce qui suit sans succès :

public bool Test()
{
    List<int> list = new List<int>();
    return list.GetType() == typeof(List<>);
}

Qu'est-ce que je fais de travers et comment dois-je effectuer ce test ?

0voto

Stan R. Points 8967
return list.GetType().IsGenericType;

4 votes

C'est correct pour une autre question. Pour cette question, elle est incorrecte, car elle n'aborde que la moitié du problème (nettement moins que).

2 votes

La réponse de Stan R répond en fait à la question posée, mais ce que le PO voulait vraiment dire, c'était "Tester si l'objet est de type particulier type générique en C#", pour lequel cette réponse est effectivement incomplète.

0 votes

Les gens me votent parce que j'ai répondu à la question dans le contexte de "est un" type générique plutôt que "est d'un" type générique. L'anglais est ma deuxième langue et de telles nuances linguistiques m'échappent souvent. Pour ma défense, l'OP n'a pas demandé spécifiquement de tester contre un type spécifique et dans le titre demande "est d'un" type générique... je ne vois pas pourquoi je mérite des downvotes pour une question ambiguë.

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