Upozornění kompilátoru (úroveň 2) CS0280
"type" neimplementuje vzor "název vzoru". Název metody má nesprávný podpis.
Dva příkazy v jazyce C#, foreach a using spoléhají na předdefinované vzory, "kolekce" a "prostředek". K tomuto upozornění dochází, když kompilátor nemůže shodovat jeden z těchto příkazů s jeho vzorem kvůli nesprávnému podpisu metody. Například vzor "collection" vyžaduje, aby byla volána MoveNext metoda, která nepřijímá žádné parametry a vrací boolean
. Váš kód může obsahovat metodu MoveNext , která má parametr nebo možná vrací objekt.
Vzor "prostředek" a using
uveďte další příklad. Model "resource" vyžaduje metodu Dispose . Pokud definujete vlastnost se stejným názvem, zobrazí se toto upozornění.
Pokud chcete toto upozornění vyřešit, ujistěte se, že podpisy metody ve vašem typu odpovídají podpisům odpovídajících metod ve vzoru, a ujistěte se, že nemáte žádné vlastnosti se stejným názvem jako metoda vyžadovaná vzorem.
Následující ukázka vygeneruje 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
}
}
Zpětná vazba k produktu .NET
.NET je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: