Я использую отражение, чтобы распечатать подпись метода, например.Как я могу получить примитивное имя типа в C#?
foreach (var pi in mi.GetParameters()) {
Console.WriteLine(pi.Name + ": " + pi.ParameterType.ToString());
}
Это работает довольно хорошо, но она выводит тип примитивов, как «System.String» вместо «строка» и «System.Nullable`1 [System.Int32]» вместо «межд?» , Есть ли способ получить имя параметра, как он выглядит в коде, например.
public Example(string p1, int? p2)
печатает
p1: string
p2: int?
вместо
p1: System.String
p2: System.Nullable`1[System.Int32]
Не может ждать вашего обновления :) – basarat 2010-12-06 18:45:47
`CSharpCodeProvider.GetTypeOutput` не изменяет` System.String` на `string`. – 2010-12-06 18:46:42