È possibile verificare il tipo di un tipo generico, senza utilizzare parametri generici?Come posso determinare il tipo senza parametri di un tipo generico C# a scopo di controllo?
Per esempio, mi piacerebbe essere in grado di fare qualcosa di simile a quanto segue (i nomi tipi effettivi sono stati cambiati per proteggere gli innocenti):
var list = new List<SomeType>();
...
if (list is List)
{
Console.WriteLine("That is a generic list!");
}
Il codice di cui sopra attualmente genera il seguente errore:
Using the generic type 'System.Collections.Generic.List<T>' requires 1 type arguments
C'è un modo per aggirare questo? Preferibilmente, qualcosa di conciso e qualcosa che funzioni con tipi che NON hanno parametri generici (es: "se myString è List").