Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
'type' não implementa o padrão 'pattern name'. 'method name' tem a assinatura errada.
Duas instruções em C#, foreach e using, dependem de padrões predefinidos, "collection" e "resource", respectivamente. Esse aviso ocorre quando o compilador não consegue corresponder uma dessas instruções ao seu padrão devido à assinatura incorreta de um método. Por exemplo, o padrão "collection" requer que haja um método chamado MoveNext, que não usa parâmetros e retorna boolean. Seu código pode conter um método MoveNext que tem um parâmetro ou talvez retorne um objeto.
O padrão "resource" e using fornecem outro exemplo. O padrão "resource" requer o método Dispose; se você definir uma propriedade com o mesmo nome, receberá esse aviso.
Para resolver esse aviso, verifique se as assinaturas do método em seu tipo correspondem àquelas dos métodos correspondentes no padrão e verifique se você não tem nenhuma propriedade com o mesmo nome que um método exigido pelo padrão.
Exemplo
O exemplo a seguir gera o erro 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
}
}