是否可以通過反射來確定對象類型的別名(s)?給出下面的例子,其中myObject的是類型System.Int32的 - e.g以編程方式在.NET中獲取類型的別名
Type t = myObject.GetType();
t.Name將的Int32。不過,我想找出不可能性別名(ES),如果有的話,有問題的對象,這樣我就可以解決的,除了INT的類型名稱的Int32
我不希望花費大量時間在此。如果沒有一個極其簡單的內置解決方案,我只需自己映射這些值。 =)
在此先感謝!
是否可以通過反射來確定對象類型的別名(s)?給出下面的例子,其中myObject的是類型System.Int32的 - e.g以編程方式在.NET中獲取類型的別名
Type t = myObject.GetType();
t.Name將的Int32。不過,我想找出不可能性別名(ES),如果有的話,有問題的對象,這樣我就可以解決的,除了INT的類型名稱的Int32
我不希望花費大量時間在此。如果沒有一個極其簡單的內置解決方案,我只需自己映射這些值。 =)
在此先感謝!
不直接用反射,沒有。 「類型名稱」(正如你所說的那樣)「int」根本不是一個類型名稱,而是一個語言關鍵字。
當然,您可以使用字典將查找內容從類型名稱存儲到較短的便利表單中。但是反射API中沒有任何東西會爲你做。
配不上我不存在語言得到特定類型的別名。謝謝! – 2010-08-04 20:28:30
別名似乎只是編譯時。注意它們如何不在給定的源文件之外應用。他們只是便利,僅此而已。
可以使用的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
INT作爲.NET類型在運行時 – CarneyCode 2010-08-04 20:23:46