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

t siempre es nulo para una clase genérica.Type.GetType no funciona en clases genéricas?

Cuando trato de obtener el tipo para una clase normal t no es nulo.

¿Por qué es eso o algo he hecho mal?

+0

has intentado 'Tipo t = Tipo.GetType (" BLL.MyLayers.TestLayer <>, BLL ");'? –

Respuesta

7

tipos genéricos se compilan utilizando un pequeño truco:

class A<T> 
{ 
} 

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

Tenga en cuenta que el apóstrofe no es una cita, pero la llave a la izquierda de la 1 tecla (en la mayoría de los teclados).

+0

Gracias su "' 2 "en mi lado como 2 params genéricos. – Elisabeth

+0

@Elisa en ese caso la sintaxis de C# no es '<>', sino que en su lugar: '<,>' –

2

Puede intentar:

Type t = Type.GetType("BLL.MyLayers.TestLayer`1,BLL"); 
Cuestiones relacionadas