Uso el reflejo para imprimir una firma de método, p.¿Cómo puedo obtener el nombre primitivo de un tipo en C#?
foreach (var pi in mi.GetParameters()) {
Console.WriteLine(pi.Name + ": " + pi.ParameterType.ToString());
}
Esto funciona bastante bien, pero se imprime el tipo de primitivas como "System.String" en lugar de "cadena" y "System.Nullable`1 [System.Int32]" en lugar de "int?" . ¿Hay alguna manera de obtener el nombre del parámetro como se ve en el código, p.
public Example(string p1, int? p2)
impresiones
p1: string
p2: int?
en lugar de
p1: System.String
p2: System.Nullable`1[System.Int32]
No puedo esperar a su actualización :) – basarat
'CSharpCodeProvider.GetTypeOutput' no cambia' System.String' por 'string' embargo. –
@Mark: Hmm ... lo hace en mi caja ... –