2009-08-24 3 views
3

제네릭 매개 변수화 일리노이 또는 CLS의 일부입니까?C# - 일반 - CLS 또는 IL?

+0

대체로 선택 사항이 아닌 "또는"질문을하고 있습니다. IL은 지정된 가상 시스템에 대한 표준화 된 코드 형식입니다. CLS는 사양 호환 프로그래밍 언어가 생산하고 소비하는 데 필요한 사양을 지정합니다. 나는 당신이 그들이 서로 어떻게해야한다고 생각하는지 확신하지 못한다. 질문에 대해 더 잘 설명해 주시겠습니까? –

답변

5

이들은 CLI의 일부이며 표준 (ECMA 335)에 자세히 설명되어 있습니다. IL은 다양한 일반 작업을 직접 인코딩하는 특수 지침 및 형식을 사용합니다. 따라서 일반 코드는 직접 CIL로 컴파일됩니다.이 CIL은 유형 변수를 사용합니다.

+0

제네릭이 1.1에 없었지만 스펙에 포함되었다는 사실은 1.1이 0.1이라고 부름을 의미합니다. – quillbreaker

+0

많은 Microsoft 제품이 그런 것처럼 보입니다. ASP.NET MVC가 또 다른 예입니다. –

1

배리의 대답을 확장하려면 int를 볼 수 있습니까? x = 5; in IL :

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