我今天嘗試進行一些常規測試,并Assembly.GetTypes()偶然發現某些東西時,通過調用來獲取程序集中的所有類型:System.RuntimeType:[First.Namespace.FirstClass]每當我嘗試與比較該類型時typeof(FirstClass),它們都不相等。因此,當我嘗試查找FirstClass作為通用參數包含的所有類型時,我找不到任何類型。System.RuntimeType和之間有什么區別System.Type?有什么辦法可以解決我的問題?
3 回答

慕容3067478
TA貢獻1773條經驗 獲得超3個贊
簡單來說...
"".GetType().ToString() == "System.String"
"".GetType().GetType().ToString() == "System.RuntimeType"
我現在考慮的方式是System.Type代表運行時對象類型請求結果的類型的基本類型System.RuntimeType。因此,當您請求對象的類型(如中)時,返回"".GetType()的實例System.Type是它的后代System.RuntimeType。實際上,人們應該期望的也typeof(System.Type).GetType()應該如此System.RuntimeType,但是我認為該框架專門防止了這種……對稱性。
- 3 回答
- 0 關注
- 1894 瀏覽
添加回答
舉報
0/150
提交
取消