컴파일러 경고(수준 1) CS3018
'type'은 CLS 규격이 아닌 'type' 형식의 멤버이므로 CLS 규격으로 표시할 수 없습니다.
이 경고는 CLSCompliant 특성이 true
으로 설정된 중첩된 클래스가 CLSCompliant 특성을 false
으로 설정하여 선언된 클래스의 멤버로 선언된 경우에 발생합니다. 중첩된 클래스는 CLS 규격이 아닌 외부 클래스의 멤버인 경우 CLS 규격일 수 없으므로 이는 허용되지 않습니다. 이 경고를 해결하려면 중첩된 클래스에서 CLSCompliant 특성을 제거하거나 true
에서 false
으로 변경합니다. CLS 규격에 대한 자세한 내용은 언어 독립성 및 언어 독립적 구성 요소를 참조하세요.
다음 샘플에서는 CS3018을 생성합니다.
// CS3018.cs
// compile with: /target:library
using System;
[assembly: CLSCompliant(true)]
[CLSCompliant(false)]
public class Outer
{
[CLSCompliant(true)] // CS3018
public class Nested {}
// OK
public class Nested2 {}
[CLSCompliant(false)]
public class Nested3 {}
}
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET 피드백
.NET은(는) 오픈 소스 프로젝트입니다. 다음 링크를 선택하여 피드백을 제공해 주세요.