2012-09-02 17 views
6
Type t = Type.GetType("BLL.MyLayers.TestLayer,BLL"); 

t è sempre nullo per una classe generica.Type.GetType non funziona su classi generiche?

Quando si tenta di ottenere il tipo per una classe normale t non è nullo.

Perché è o ho qualcosa che non va?

+0

hai provato 'Tipo t = Type.GetType (" BLL.MyLayers.TestLayer <>, BLL ");'? –

risposta

7

tipi generici sono compilati utilizzando un piccolo trucco:

class A<T> 
{ 
} 

var aa = Type.GetType("ConsoleApplication1.A`1"); 

Si noti che l'apostrofo non è una citazione, ma la chiave per la sinistra del 1 tasto (sulla maggior parte delle tastiere).

+0

Grazie al suo "' 2 "al mio fianco come 2 parametri generici. – Elisabeth

+0

@Elisa in questo caso la sintassi C# non è '<>', ma invece: '<,>' –

2

Si può provare:

Type t = Type.GetType("BLL.MyLayers.TestLayer`1,BLL"); 
Problemi correlati