4
我有一个类型(例如通过反射)。获取特定框架System.Type的c#特定名称?
我有Name属性的值,例如String ...这是“System.String”。我想看到“字符串”(“int”而不是“System.Int32”等等)。
框架(或语言)中的任何东西都可以给我吗?我是否可以将框架类型名称转换为语言类型名称(或者,也可以先输入语言类型名称)?
我有一个类型(例如通过反射)。获取特定框架System.Type的c#特定名称?
我有Name属性的值,例如String ...这是“System.String”。我想看到“字符串”(“int”而不是“System.Int32”等等)。
框架(或语言)中的任何东西都可以给我吗?我是否可以将框架类型名称转换为语言类型名称(或者,也可以先输入语言类型名称)?
可以使用的CodeDOM类获得特定语言的类型别名
var cs = new CSharpCodeProvider();
var vb = new VBCodeProvider();
var type = typeof (int);
Console.WriteLine("Type Name: {0}", type.Name); // Int32
Console.WriteLine("C# Type Name: {0}", cs.GetTypeOutput(new CodeTypeReference(type))); // int
Console.WriteLine("VB Type Name: {0}", vb.GetTypeOutput(new CodeTypeReference(type))); // Integer
什么是更有趣的是,你会如何解决这个问题渲染泛型类型。 C#认为是“C.D ”的类型被CLR呈现为“C'1 + D'1 [System.Int32,System.String]”。 –
2010-09-01 18:23:21
'Nullable'也可能是一个值得缩短到'T'的边界情况 –
2010-09-01 18:26:29