Avviso del compilatore (livello 2) CS0278
'type' non implementa il modello 'pattern name'. 'method name' è ambiguo con 'method name'.
Molte istruzioni in C# si basano su modelli definiti, ad esempio foreach
e using
. Ad esempio, l'foreach
istruzione si basa sulla classe di raccolta che implementa il modello "enumerabile".
L'avviso CS0278 potrebbe essere visualizzato quando il compilatore non riesce creare la corrispondenza corretta a causa di alcune ambiguità, ad esempio se per il modello "enumerabile" è necessario un metodo denominato MoveNext
e nel codice sono contenuti due metodi denominati MoveNext
. Il compilatore proverà a trovare un'interfaccia da usare. È tuttavia opportuno determinare la causa dell'ambiguità e correggerla.
L'esempio seguente genera l'errore 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
}
}
Feedback su .NET
.NET è un progetto di open source. Selezionare un collegamento per fornire feedback: