IL中call與callvirt的區別及其對Equal操作的影響

《CLR via C#》中是這樣描述它們的: 編譯器在生成方法時會在方法定義表中寫入該方法的記錄項,每個記錄項中有一組標誌指令方法是靜態方法、實例方法還是虛方法,如下圖: 生成IL代碼時,編譯器會根據這些標誌,判斷應如何生成IL代碼(是使用call還是callvirt)。 call (靜態/前期綁定) 該IL指令可調用靜態方法、實例方法和虛方法。用call指令調用靜態方法,必須指定方法的定義類型。
相關文章
相關標籤/搜索