C#类型名称而不是CLR类型名称

typeof(int).Name 

返回System.Int32是否有人知道返回“int”的方法

没有很多类型是C#关键字(int,double,string)…所以也许你可以编写自己的映射函数,从系统类型名称到相应的C#关键字。

是的,你可以写一个映射函数。 无论如何,这只是一个别名。

这是一个清单:

http://msdn.microsoft.com/en-us/library/86792hfa(VS.71).aspx

使用reflection,您可以使用CSharpCodeProvider (也存在于.NET Core 2中)来获取“int”,“string”等,而不是完整的CLR Type名称。

还有其他SOpost为此提供代码示例:

如何在C#中获取类型的原始名称?

C# – 通过reflection获取简单类型的用户友好名称?

或者,您必须自己映射这些类型。 如果您不介意第三方库,有一些库可以为您执行此操作。 不要忘记可空的变化。