0
A
回答
0
你試試這個
Type type = typeof(long?);
Console.WriteLine(type.FullName);
但你不會得到字符串只要每隔原語類型有aliases.And這些別名不露面的類型系統。
你應該得到System.Nullable`1 [System.Int64]此statement.You還可自定義代碼,以獲得正確的輸出字符串
4
你不能得到什麼向其寫入。這只是一種語言簡寫。
ToString()
應產生「System.Nullable`1 [System.Int64]」
如果你需要它作爲一個字符串,你可以建立一個字典。
var types = new Dictionary<Type, string>();
types.Add(typeof(long?), "long?");
但是,您無法檢測到這一點。
types.Add(typeof(System.Nullable<long>), "System.Nullable<long>");
因爲typeof(long?) == typeof(System.Nullable<long>)
0
您可以使用Type的Name屬性,但是這不會重返「長」? long是System.Int64類型的語言語法糖。
0
你要問的類型,它是通用的參數,是這樣的:
typeof(long?).GetGenericArguments().First().Name
然而,這將系統返回類型名稱,而不是C#的名字。
也就是說,Int64
不long
0
這是不可能的。
Type type = typeof(long?);
根本不同的類型ValueType
。
System.ValueType
來自System.Object
的皮帶,而不是System.Type
。
long?
是寫System.Nullable<long>
的只是一種奇特的方式,因此它的類型不是long?
,如果你想要得到它是什麼類型,那麼你就必須自己解析它。
如果你想從System.Nullable<T>
到T
類型類型那麼這段代碼將工作:
Type t = typeof(long?);
t = t.FullName.StartsWith("System.Nullable") ? t.GenericTypeArguments[0] : t;
// t == typeof(long);
相關問題
- 1. 如何有一個泛型類型從一個泛型類型
- 2. Java泛型:如何從一個方法獲得泛型類型?
- 3. 得到此類型
- 4. 錯誤從類傳遞一個泛型類型到另
- 5. 解析值到類型類型的
- 6. 從類型「類型」
- 7. 推斷泛型類型從一個方法到另一個
- 8. 從Java類型移回到MATLAB類型
- 9. 我得到一個類型不匹配的錯誤從int到布爾值
- 10. 我可以得到一個對象的泛型類型嗎?
- 11. 如何從對象類型獲得泛型類型
- 12. 鑄造到一個類型
- 13. 從模板類獲得一個「子類型」
- 14. 從泛型類到泛型基類的值
- 15. 得到從類獲取財產型號
- 16. 得到$從類型_POST =文件
- 17. 的getFormat從來沒有得到一個類型的IFormatProvider
- 18. 使用嵌套類型從類型到類型的AutoMapper映射
- 19. 從(類型* int)到類型int的類型轉換int
- 20. 從一個空類型轉換爲另一種可空類型
- 21. 是一個值類型,getter和setter仍然是一個值類型?
- 22. 爲什麼傳遞一個ref類型到一個F#函數中,期望得到一個byref類型錯誤?
- 23. 從函數,子類型或類型返回多個值?
- 24. 一個類型添加到類
- 25. 類別鑄造到一個類型
- 26. 找出一個泛型類的類型
- 27. AutomationElement得到真實類型
- 28. 得到類型的「id」
- 29. XTEXT一個泛型類型
- 30. 如何獲得一個需要泛型類型的類,以從該類型的實例中調用方法?
對不起,是的,但它是同樣的問題。我會編輯 – Paul