Estoy trabajando en la generación de código y me encontré con un problema con los genéricos. Aquí hay una versión "simplificada" de lo que me está causando problemas.¿Cómo puedo obtener la definición de texto correcta de un tipo genérico utilizando la reflexión?
Dictionary<string, DateTime> dictionary = new Dictionary<string, DateTime>();
string text = dictionary.GetType().FullName;
Con el código anterior fragmento de código del valor de text
es el siguiente: (. Los saltos de línea añaden para facilitar la lectura)
System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.DateTime, mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
¿Hay una manera de obtener el nombre del tipo (type
) en un formato diferente sin analizar la cadena anterior? Yo deseo el siguiente resultado para text
:
System.Collections.Generic.Dictionary<System.String, System.DateTime>
Tenga en cuenta que si se quita '' .FullName' y utilizar .ToString() 'en lugar, se obtiene el" text "' 'System.Collections.Generic.Dictionary'2 [System.String, System.DateTime]' 'que es más legible y está más cerca de lo que desea. –