IL檢視泛型

2022-01-31 23:52:41 字數 777 閱讀 7023

我們在開發中經常用到泛型,下面一起通過il來檢視泛型背後做了那些工作

示例**如下:

通過這可以看到泛型在解釋時,也會生成乙個新的class gett(!!t):!!t

void main (
string args
) cil managed
\t value2:"
il_0018: ldloc.0
il_0019: box [mscorlib]system.int32
il_001e: ldloc.1
il_001f: call void [mscorlib]system.console::writeline(string, object, object)
il_0024: nop
il_0025: ret
} // end of method genericexample::main
通過上面的il**可知:泛型在執行時會自動轉化型別

IL檢視泛型

我們在開發中經常用到泛型,下面一起通過il來檢視泛型背後做了那些工作 示例 如下 通過這可以看到泛型在解釋時,也會生成乙個新的class gett t t method public hidebysig staticvoid main string args cil managed t value2...

IL檢視委託

通過il來檢視委託的原理,寫乙個委託的類如下 namespace mycollection的倍數是 num,num 2 求整數的平方public static void square int num 的平方是 n num,num num delegate void intop int x 定義乙個委...

泛型 泛型類 泛型方法 泛型擦除

1 是什麼?一種允許我們在不確定引數型別時候使用的型別。例如我不知道a方法應該會傳string還是int,我就用個泛型先佔坑。2 為什麼要用泛型?泛型可以在編譯期自動確定具體型別,檢查型別是否匹配,可以提高 的重用率,減少冗餘編碼。3 泛型與object的區別?像上面說的我不知道方法a的引數型別,其...