Предупреждение компилятора (уровень 2) CS0278
"тип" не реализует шаблон "имя_шаблона". "имя метода" является неоднозначным с "имя метода".
В C# существует несколько операторов, основывающихся на заданных шаблонах, таких как foreach
и using
. Например, инструкция зависит от класса коллекции, foreach
реализующего шаблон перечисления.
Ошибка CS0278 может произойти, если компилятору не удается выполнить сопоставление из-за неоднозначности. Например, шаблон "перечисление" требует, чтобы существовал метод с именем MoveNext
, и ваш код может содержать два метода MoveNext
. Компилятор попытается найти интерфейс для использования, но рекомендуется определить и устранить причину неоднозначности.
Следующий пример приводит к возникновению ошибки CS0278.
// CS0278.cs
using System.Collections.Generic;
public class myTest
{
public static void TestForeach<W>(W w)
where W: IEnumerable<int>, IEnumerable<string>
{
foreach (int i in w) {} // CS0278
}
}
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: