다음을 통해 공유


컴파일러 경고(수준 2) CS0278

업데이트: 2007년 11월

오류 메시지

'type'은(는) 'pattern name' 패턴을 구현하지 않습니다. 'method name'이(가) 'method name'에서 모호합니다.
'type' does not implement the 'pattern name' pattern. 'method name' is ambiguous with 'method name'.

C#에는 정의된 패턴을 사용하는 foreach, using 같은 몇 개의 문이 있습니다. 예를 들어, foreach에서는 "enumerable" 패턴을 구현하는 컬렉션 클래스를 사용합니다.

CS0278은 모호성으로 인해 컴파일러에서 패턴을 일치시킬 수 없는 경우에 발생합니다. 예를 들어, "enumerable" 패턴을 사용하려면 MoveNext라는 메서드가 있어야 하고 코드에 MoveNext라는 두 개의 메서드가 포함되어야 합니다. 컴파일러에서는 사용할 인터페이스를 찾으려고 시도합니다. 그러나 모호성의 원인을 파악하여 해결하는 것이 좋습니다.

자세한 내용은 방법: foreach를 사용하여 컬렉션 클래스 액세스(C# 프로그래밍 가이드)를 참조하십시오.

예제

다음 샘플에서는 CS0278 경고가 발생하는 경우를 보여 줍니다.

// CS0278.cs
using System.Collections.Generic;
public class myTest 
{
   public static void TestForeach<W>(W w) 
      where W: IEnumerable<int>, IEnumerable<string>
   {
      foreach (int i in w) {}   // CS0278
   }
}