Предупреждение компилятора (уровень 2) CS0279
Тип "имя_типа" не реализует шаблон "имя_шаблона". Метод "имя_метода" либо статический, либо не являющийся открытым.
В C# существует несколько операторов, основывающихся на заданных шаблонах, таких как foreach
и using
. Например, foreach
основывается на классе коллекции, реализующем шаблон перечисления. Эта ошибка возникает, если компилятору не удается выполнить сопоставление из-за того, что метод объявляется как static
или не public
. Методы в шаблонах должны быть экземплярами классов и должны быть открытыми.
В следующем примере возникает ошибка 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
}
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: