일반 속성에 대한 C#의 제한: 설명할 수 없는 미스터리
C# 속성 내에서 일반 유형을 사용하려고 하면 당황스러운 컴파일 시간 오류가 발생합니다. 예를 들면 다음과 같습니다.
<code class="language-csharp">[Validates<string>] public static class StringValidation { // ... }</code>
이는 이러한 사용이 허용되는 Java와 같은 언어와 대조됩니다. 그러나 C#에서는 일반 특성 유형을 지속적으로 금지합니다. 정확한 이유는 아직 불분명합니다.
ECMA C# 2 및 3 사양에서는 아무런 설명도 제공하지 않고 이 제한 사항을 언급합니다. 전 Microsoft 개발자이자 C# 언어 디자이너인 Eric Lippert는 구체적이고 문서화된 근거가 없다고 제안합니다. 이러한 결정은 언어 및 컴파일러 단순성에 우선순위를 두고 명백히 더 높은 가치를 지닌 기능에 개발 노력을 집중하는 데서 비롯된 것 같습니다.
따라서 C#에서 일반 속성 유형을 금지하는 것은 명확하고 공개적으로 이용 가능한 타당성이 부족하여 주목할 만하고 잠재적으로 제한적인 언어 특성입니다.
위 내용은 C#에서 일반 특성 유형이 허용되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!