tengo este problema:cómo reutilizar Tipo de valor devuelto para generar código fuente nueva
que desea generar un nuevo archivo de código fuente de una información de objeto.
hago algo como esto:
dictParamMapping es un Dictionary<string, Type>
donde la cadena es un nombre de variable y tipo es el tipo de esa variable.
me sale el tipo para construir nuevo código usando:
dictParamMapping[pairProcess.Value].Type.Name (or FullName)
Cuando el tipo es int, string, tabla de datos, etc ... todo funciona bien, pero cuando se trata de un diccionario, lista o cualquier otro como que devuelve algo como:
System.Collections.Generic.Dictionary`2[[System.Int32, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Double, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
Cuál no es correcto construir ese nuevo código fuente. Me gustaría obtener algo como Dictionary<int, double>
¿Alguien me puede ayudar?
Ha examinado ['GetGenericTypeDefinition'] (http://msdn.microsoft.com/en-us/library/system.type.getgenerictypedefinition.aspx) y [' GetGenericArguments'] (http: // msdn. microsoft.com/en-us/library/system.type.getgenericarguments.aspx)? –
¿Desea obtener alias C# para tipos primitivos? – abatishchev
Para abatishchev: Sí, esa es la idea. Para O. R. Mapper: GetGenericArguments me devuelve el tipo de tipo interno pero cuando una estructura de datos como Dictionary> me obliga a crear una función recursiva para detectarlo. –
pasapepe