Advertencia del compilador (nivel 2) CS0280
'tipo' no implementa el patrón 'nombre de patrón'. 'nombre de método' tiene una signatura incorrecta.
Dos instrucciones de C#, foreach y using, dependen de los patrones predefinidos "colección" y "recurso", respectivamente. Esta advertencia se produce cuando el compilador no puede hacer coincidir una de estas instrucciones con su patrón debido a la signatura incorrecta de un método. Por ejemplo, el patrón "colección" requiere que haya un método denominado MoveNext que no tome ningún parámetro y devuelva un valor boolean
. El código podría contener un método MoveNext que tenga un parámetro o quizás devuelva un objeto.
El patrón "recurso" y using
proporcionan otro ejemplo. El patrón "recurso" necesita el método Dispose . Si se define una propiedad con el mismo nombre, aparecerá esta advertencia.
Para resolver la advertencia, asegúrese de que las signaturas de los métodos del tipo coinciden con las signaturas de los métodos correspondientes del patrón y que no tiene ninguna propiedad con el mismo nombre que un método requerido por el patrón.
El ejemplo siguiente genera la advertencia CS0280.
// CS0280.cs
using System;
using System.Collections;
public class ValidBase: IEnumerable
{
IEnumerator IEnumerable.GetEnumerator()
{
yield return 0;
}
internal IEnumerator GetEnumerator()
{
yield return 0;
}
}
class Derived : ValidBase
{
// field, not method
new public int GetEnumerator;
}
public class Test
{
public static void Main()
{
foreach (int i in new Derived()) {} // CS0280
}
}
Comentarios de .NET
.NET es un proyecto de código abierto. Seleccione un vínculo para proporcionar comentarios: