Advertencia del compilador (nivel 2) CS0278
'tipo' no implementa el patrón 'nombre de patrón'. 'nombre de método' es ambiguo con 'nombre de método'.
Hay varias instrucciones en C# que se basan en patrones definidos, como foreach
y using
. Por ejemplo, la instrucción foreach
se basa en la clase de colección que implementa el patrón “enumerable”.
Puede producirse la advertencia CS0278 si el compilador no puede establecer la coincidencia debido a ambigüedades. Por ejemplo, el patrón "enumerable" necesita un método llamado MoveNext
, y el código puede contener dos métodos denominados MoveNext
. El compilador intentará encontrar una interfaz que pueda usar, pero se recomienda que determine y resuelva la causa de la ambigüedad.
El ejemplo siguiente genera la advertencia 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
}
}
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: