J'utilise la réflexion pour imprimer une signature de méthode, par ex.Comment puis-je obtenir le nom primitif d'un type en C#?
foreach (var pi in mi.GetParameters()) {
Console.WriteLine(pi.Name + ": " + pi.ParameterType.ToString());
}
Cela fonctionne assez bien, mais il imprime le type de primitives comme "System.String" au lieu de "string" et "System.Nullable`1 [System.Int32]" au lieu de "int?" . Existe-t-il un moyen d'obtenir le nom du paramètre tel qu'il apparaît dans le code, par ex.
public Example(string p1, int? p2)
impressions
p1: string
p2: int?
au lieu de
p1: System.String
p2: System.Nullable`1[System.Int32]
Vous ne pouvez pas attendre votre mise à jour :) – basarat
'CSharpCodeProvider.GetTypeOutput' ne change pas' System.String' en 'string' cependant. –
@Mark: Hmm ... il fait sur ma boîte ... –