2010-06-05 7 views

답변

1

CTS (일반 유형 시스템) CTS는 유형이 런타임에 선언되고 사용되고 관리되는 방법을 설명하고 언어 간 통합, 유형 안전성 및 고성능 코드 실행을 용이하게한다고 말할 수 있습니다.

CLS (공용 언어 사양) CLS (Common Language Specification)는 언어 디자이너와 클래스 라이브러리 디자이너가 모든 언어에서 준수해야하는 기본 언어 기능의 공통 하위 집합을 사용하기로 동의 한 것입니다.

당신이 이미지 CLS에서 볼 수 있듯이

가 이미 언급했듯이 alt text http://www.microsoft.com/taiwan/msdn/columns/DoNet/images/NET_CTS1.gif

+0

그렇다면 모든 CLS에서 CTS의 하위 집합이라고 할 수 있습니까? – harrisunderwork

+0

예, 이미지에서 볼 수 있습니다. – Incognito

+0

이미지 참조 란 무엇입니까? 실종 된 것 같습니다 ... –

0

CTS

의 하위 집합입니다, CLS는 CTS의 하위 집합입니다. 그러나이 용어의 실제 정의에는 훨씬 더 많은 것이 있습니다.

나는 CLR via C#을 읽을 것을 제안합니다.

0

몇 가지 예가 도움이 될 것입니다.

CLS와 호환되지 않는 주요 항목 중 하나는 부호없는 번호 (예 : uint)입니다. 또 다른 함수 포인터 (대리자)입니다. 라인의 양 끝에 의미가 없으면 "공통"이 아닙니다. CLS는 CLR 내에서뿐만 아니라 특정 공통되고 잘 정의 된 interop 시나리오 내에서 작동하는 공통 유형 집합을 정의합니다.

CLS 규격을 준수하려면 프로젝트의 assemblyinfo.cs 파일에 CLSCompliant 특성을 추가하여 어셈블리에 CLSCompliant 특성을 추가 할 수 있습니다.

[assembly: CLSCompliant(true)] 

클래스의 속성으로 추가 할 수도 있습니다. 이런 일을하는

[CLSCompliant(true)] 
public class HospitalLocationEntity : EntityBase 
{ 
    ... 
} 

는 CLS 준수 위반에 대한 오류를 컴파일 인상 (속성에 적절한 VB 구문 또는 VB) C# 컴파일러의 원인이됩니다.

또한 웹 서비스 (.asmx)에 [ScriptService] 및 [ScriptMethod] 특성을 추가하면 서비스에서 JSON 서비스 출력을 생성하므로 서비스 응답에 사용되는 데이터를 클래스 및 클래스에서 CLSCompliant로 표시해야합니다. 어셈블리 수준.

<System.Web.Services.WebService()> _ 
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _ 
<ToolboxItem(False)> _ 
<ScriptService()> _ 
Public Class HospitalLocationService 
    Inherits System.Web.Services.WebService 
    <WebMethod()> _ 
    <ScriptMethod()> _ 
    Public Function GetAll() As List(Of HospitalLocationEntity) 
     Return (New HospitalLocation()).GetAll().Data 
    End Function 
End Class 
관련 문제