Avatar ·

Comment obtenir le type T à partir d'une instance d'une classe ou méthode générique en C# ?

Bonjour à tous ! Je suis débutant en C# et j'ai un problème avec les types génériques (generics). Supposons que j'ai une classe générique : ```csharp public class MyList { private List items = new List(); public void Add(T item) { items.Add(item); } } ``` Et je crée une instance : ```csharp var intList = new MyList(); ``` Maintenant, à l'intérieur de la classe, je veux savoir quel type est T. Par exemple, si T est int, je veux afficher "int" sur la console. J'ai essayé d'écrire `typeof(T)`, mais cela ne fonctionne pas dans les contextes statiques, et je ne suis pas sûr de comment obtenir le type à partir d'une instance. J'ai aussi entendu dire qu'à cause de l'effacement de type (type erasure) à l'exécution, cela peut être compliqué. En Java, j'utiliserais Class, mais en C# l'approche est différente. Comment obtenir correctement le type T à partir d'une instance d'une classe générique ou d'une méthode ? Je serais reconnaissant pour des exemples de code ! <<>>

Utilisation de typeof(T) dans les membres non statiques de la classe

En C#, obtenir le type T à l'intérieur d'une classe générique ou