5 규칙
다음 대상 그룹에 적합합니다.
- C# 구현을 디자인, 구현 또는 유지 관리합니다.
- C# 구현을 조달하려는 정부 또는 상용 엔터티입니다.
- C# 규칙 테스트 제품군을 제공하려는 테스트 조직
- 한 C# 구현에서 다른 C# 구현으로 코드를 포팅하려는 프로그래머.
- 표준 C#을 가르치고자 하는 교육자.
- 표준 C#에 대해 쓰고자 하는 작성자입니다.
따라서 규칙 준수가 가장 중요하며, 이 사양의 대부분은 C# 구현 및 C# 프로그램을 준수하는 특성을 지정하기 위한 것입니다.
요구 사항을 지정하는 이 사양의 텍스트는 표준으로 간주됩니다. 이 사양의 다른 모든 텍스트는 정보 제공, 즉 정보 용도로만 제공됩니다. 달리 명시되지 않는 한 모든 텍스트는 규범적입니다. 표준 텍스트는 필수 및 조건부 범주로 더 세분화됩니다. 조건부 표준 텍스트는 기능이 선택 사항인 기능 및 해당 요구 사항을 지정합니다. 그러나 해당 기능이 제공된 경우 해당 구문과 의미 체계는 지정된 대로 정확하게 지정되어야 합니다.
정의되지 않은 동작은 이 사양에서 '정의되지 않은 동작'이라는 단어로만 표시됩니다.
엄격하게 준수하는 프로그램은 이 사양에 지정된 언어의 기능만 필수로 사용해야 합니다. 즉, 엄격하게 준수하는 프로그램은 조건부 규범 기능을 사용할 수 없습니다. 지정되지 않은 동작, 정의되지 않은 동작 또는 구현 정의 동작에 종속된 출력을 생성하지 않습니다.
C#의 규정 준수 구현은 엄격하게 준수하는 모든 프로그램을 수락해야 합니다.
C#의 준수 구현은 이 사양의 규범적(조건부 규범적) 부분에 설명된 모든 형식, 값, 개체, 속성, 메서드 및 프로그램 구문 및 의미 체계를 제공하고 지원해야 합니다.
C#의 준수 구현은 유니코드 표준에 따라 문자를 해석해야 합니다. 준수 구현은 UTF-8 인코딩 양식으로 인코딩된 컴파일 단위를 허용해야 합니다.
C#의 준수 구현은 조건부 컴파일에서 건너뛴 그룹의 일부가 아닌 한 #error 전처리 지시문이 포함된 원본을 성공적으로 변환하지 않습니다.
C#의 규정 준수 구현은 해당 요구 사항이 "진단 필요 없음"이라는 단어로 표시되지 않는 한 원본 프로그램이 구문 규칙 또는 부정적인 요구 사항("으로 정의됨" 또는 "오류" 또는 "오류" 또는 "경고" 요구 사항으로 정의됨)을 위반하는 경우 하나 이상의 진단 메시지를 생성해야 합니다.
C#의 준수 구현은 엄격하게 준수하는 프로그램의 동작을 변경하지 않는 경우 이 사양에 설명된 것 이상으로 추가 형식, 값, 개체, 속성 및 메서드를 제공할 수 있습니다. 이 사양에 따라 잘못된 형식의 확장을 사용하는 프로그램을 진단하려면 구현을 준수해야 합니다. 그러나 이렇게 하면 이러한 프로그램을 컴파일하고 실행할 수 있습니다. (확장을 포함하는 기능은 준수 구현이 이 사양에서 명시적으로 예약된 식별자 이외의 식별자를 예약하지 않음을 의미합니다.)
C#의 준수 구현에는 모든 구현 정의 특성 및 모든 확장을 정의하는 문서가 함께 제공됩니다.
C#의 준수 구현은 부록 C에 문서화된 클래스 라이브러리를 지원해야 합니다. 이 라이브러리는 이 사양의 참조에 포함되어 있습니다.
준수 프로그램은 준수 구현에 허용되는 프로그램입니다. (이러한 프로그램은 확장 또는 조건부 규범 기능을 포함할 수 있습니다.)
ECMA C# draft specification