的ECMA通用語言基礎文件說,這對CIL「isinst 類」指令:CIL指令「isinst <valuetype>」
正確CIL確保類是一個有效的typeref或類型定義或類型指定令牌表示一個類,而 表示obj總是爲空或對象引用。
這意味着不允許使用valuetype,對不對?但mscorlib.dll中包含的方法System.RuntimeTypeHandle ::等於(obj對象)下面的指令:
IL_0001:isinst System.RuntimeTypeHandle
而且System.RuntimeTypeHandle是值類型。任何人都可以把我放在這裏嗎?
換句話說,「isinst」的真正含義是「isinst 」? –
TonyK
2010-08-24 09:05:31
@TonyK - 我相信這是正確的 - 請注意,您引用的規範部分表明,_obj_必須爲null或對象引用,因此將它視爲未裝箱的值類型是沒有意義的。 – kvb 2010-08-24 16:45:42
實際上,'int'被轉換爲'isinst int32'。在Reflector中,可以單擊「int32」並引用System.Int32。與其他值類型相同,如'bool'。 – Andreas 2010-08-24 19:30:31