Aviso do compilador (nível 2) CS0279
'type name' não implementa o padrão 'pattern name'. 'method name' é estático ou não público.
Há várias instruções no C# que dependem de padrões definidos, como foreach
e using
. Por exemplo, foreach
depende da classe de coleção implementar o padrão enumerável. Esse erro ocorre quando o compilador não consegue fazer a correspondência devido ao fato de um método ser declarado static
ou não public
. Métodos em padrões são obrigatoriamente instâncias de classes e públicos.
O exemplo a seguir gera o erro CS0279:
// CS0279.cs
using System;
using System.Collections;
public class myTest : IEnumerable
{
IEnumerator IEnumerable.GetEnumerator()
{
yield return 0;
}
internal IEnumerator GetEnumerator()
{
yield return 0;
}
public static void Main()
{
foreach (int i in new myTest()) {} // CS0279
}
}
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: