C#-Generics - CLS还是IL?

时间:2009-08-24 17:54:54

标签: c#

泛型是参数化IL还是CLS的一部分?

2 个答案:

答案 0 :(得分:5)

它们是CLI的一部分,在标准(ECMA 335)中有详细说明。 IL使用直接编码各种通用操作的特殊指令和格式。因此,通用代码直接编译为CIL,CIL本身使用类型变量。

答案 1 :(得分:1)

为了扩展Barry的答案,你可以看到int? x = 5;在IL:

IL_0001:  ldloca.s    00 
IL_0003:  ldc.i4.5    
IL_0004:  call        System.Nullable<System.Int32>..ctor