aviso do compilador (nível 2) CS0278

Mensagem de erro

'type' não implementa o padrão de nome do padrão. 'nome do método 'é ambíguo com' nome do método '.

Há várias instruções em translation from VPE for Csharp que se baseiam em padrões definidos, such sistema autônomo foreach e using. Por exemplo, foreachutiliza a classe de coleção Implementando o padrão "enumerável".

CS0278 pode ocorrer se o compilador não pode fazer a correspondência devido a ambigüidades.Por exemplo, o padrão "enumerável" requer que existe um método chamadoMoveNext, e seu código pode conter dois métodos chamados MoveNext. O compilador tentará localizar uma interface para usar o mas é recomendável que você determinar e resolver a causa da ambigüidade.

Para obter mais informações, consulte Como: Acessar uma classe de coleção com foreach (C# Programming Guide).

Exemplo

O exemplo a seguir gera 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
   }
}