aviso do compilador (nível 2) CS0279
Mensagem de erro
nome de tipo não implementa o padrão de nome do padrão. 'nome do método ' é estático ou não pública.
Há várias instruções em translation from VPE for Csharp que se baseiam em padrões definidos, such sistema autônomo foreach e using. Por exemplo, foreach utiliza a classe de coleção Implementando o padrão enumerável. Este erro ocorre quando o compilador não pode fazer a correspondência devido a um método que está sendo declarado static ou não public. Métodos em padrões são necessários para instâncias de classes e ser pública.
Exemplo
O exemplo a seguir gera 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
}
}