aviso do compilador (nível 2) CS0280
Mensagem de erro
'type' não implementa o padrão de nome do padrão. 'nome do método ' tem assinatura incorreta.
Duas instruções em translation from VPE for Csharp foreach e using, dependem de padrões predefinidos, "coleção" e "recurso" respectivamente. Este aviso ocorre quando o compilador não pode corresponder a um dessas instruções para seu padrão devido a assinatura incorreta do método.Por exemplo, o padrão de "coleta" requer que existe um método chamadoMoveNext que não usa nenhum parâmetro e retorna um boolean. Seu código pode conter um MoveNext método que possui um parâmetro ou talvez retorna um objeto.
O padrão de "recurso" eusing Forneça outro exemplo. O padrão de "recurso" requer oDispose método; se você definir uma propriedade com o mesmo nome, você receberá esse aviso.
Para resolver esse aviso, certifique-se de que sistema autônomo assinaturas de método no seu tipo coincidir com sistema autônomo assinaturas dos métodos correspondentes do padrão e certifique-se de que não há propriedades com o mesmo nome de um método necessário para o padrão.
Exemplo
O exemplo a seguir gera 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
}
}