Číst v angličtině

Sdílet prostřednictvím


Upozornění kompilátoru (úroveň 2) CS0278

"type" neimplementuje vzor "název vzoru". Název metody je nejednoznačný s názvem metody.

V jazyce C# existuje několik příkazů, které spoléhají na definované vzory, například foreach a using. Příkaz například foreach spoléhá na třídu kolekce, která implementuje vzor "enumerable".

CS0278 může nastat, pokud kompilátor nemůže provést shodu kvůli nejednoznačnostem. Například vzor "enumerable" vyžaduje, aby byla volána MoveNextmetoda a váš kód může obsahovat dvě metody volané MoveNext. Kompilátor se pokusí najít rozhraní, které se má použít, ale doporučuje se určit a vyřešit příčinu nejednoznačnosti.

Příklad

Následující ukázka vygeneruje CS0278.

C#
// 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  
   }  
}