컴파일러 경고(수준 2) CS0279
'type name'이 'pattern name' 패턴을 구현하지 않습니다. 'method name’이 static이거나 아니면 public이 아닙니다.
C#에는 foreach
및 using
과 같이 정의된 패턴을 사용하는 문이 여러 개 있습니다. 예를 들어 foreach
는 열거 가능 패턴을 구현하는 컬렉션 클래스를 사용합니다. 이 오류는 static
이 아닌 public
으로 선언된 메서드로 인해 컴파일러가 일치시킬 수 없을 때 발생합니다. 패턴의 메서드는 클래스의 인스턴스여야 하고 public이어야 합니다.
다음 예제에서는 CS0279를 생성합니다.
C#
// CS0279.cs
using System;
using System.Collections;
public class myTest : IEnumerable
{
IEnumerator IEnumerable.GetEnumerator()
{
yield return 0;
}
internal IEnumerator GetEnumerator()
{
yield return 0;
}
public static void Main()
{
foreach (int i in new myTest()) {} // CS0279
}
}
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET 피드백
.NET은(는) 오픈 소스 프로젝트입니다. 다음 링크를 선택하여 피드백을 제공해 주세요.