Wie erhalte ich den Typ T aus einer Instanz einer generischen Klasse oder Methode in C#?
Hallo zusammen! Ich bin neu in C# und habe ein Problem mit generischen Typen (generics). Angenommen, ich habe eine generische Klasse:\n\n```csharp\npublic class MyList\n{\n private List items = new List();\n\n public void Add(T item)\n {\n items.Add(item);\n }\n}\n```\n\nUnd ich erstelle eine Instanz davon:\n\n```csharp\nvar intList = new MyList();\n```\n\nJetzt möchte ich innerhalb der Klasse wissen, welchen genauen Typ T hat. Wenn T zum Beispiel int ist, möchte ich "int" auf der Konsole ausgeben. Ich habe versucht, `typeof(T)` zu schreiben, aber das funktioniert nicht in statischen Kontexten, und ich bin mir nicht sicher, wie ich den Typ aus einer Instanz erhalte. Ich habe auch gehört, dass dies aufgrund von Type Erasure zur Laufzeit schwierig sein kann. In Java würde ich Class verwenden, aber in C# ist der Ansatz anders. Wie erhalte ich korrekt den Typ T aus einer Instanz einer generischen Klasse?
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen