Compilerwaarschuwing (niveau 2) CS0280
'type' implementeert het patroon 'patroonnaam' niet. 'methodenaam' heeft de verkeerde handtekening.
Twee instructies in C#, foreach en using zijn afhankelijk van vooraf gedefinieerde patronen, 'verzameling' en 'resource'. Deze waarschuwing treedt op wanneer een van deze instructies niet overeenkomt met een van deze instructies vanwege een onjuiste handtekening van een methode. Het patroon 'verzameling' vereist bijvoorbeeld dat er een methode is aangeroepen MoveNext die geen parameters accepteert en een boolean
. Uw code bevat mogelijk een MoveNext methode met een parameter of retourneert mogelijk een object.
Het resourcepatroon en using
geef een ander voorbeeld op. Voor het resourcepatroon is de Dispose methode vereist. Als u een eigenschap met dezelfde naam definieert, krijgt u deze waarschuwing.
Als u deze waarschuwing wilt oplossen, moet u ervoor zorgen dat de methodehandtekeningen in uw type overeenkomen met de handtekeningen van de bijbehorende methoden in het patroon en ervoor zorgen dat u geen eigenschappen hebt met dezelfde naam als een methode die is vereist voor het patroon.
In het volgende voorbeeld wordt CS0280 gegenereerd.
// 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
}
}
.NET-feedback
.NET is een open source project. Selecteer een koppeling om feedback te geven: