Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
'tipo' non implementa il modello 'nome modello'. 'nome metodo' è ambiguo con 'nome metodo'.
'type' does not implement the 'pattern name' pattern. 'method name' is ambiguous with 'method name'.
In C# alcune istruzioni, quali foreach e using, si basano su modelli definiti. Ad esempio, l'istruzione foreach si basa sulla classe Collection che implementa il modello "enumerabile".
È possibile che l'avviso CS0278 venga visualizzato quando il compilatore non è in grado di 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 tenterà di trovare un'interfaccia da utilizzare. È tuttavia opportuno determinare la causa dell'ambiguità e correggerla.
Per ulteriori informazioni, vedere Procedura: accedere a una classe di insiemi con foreach (Guida per programmatori C#).
Esempio
Il seguente codice di esempio genera l'avviso 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
}
}