Avviso del compilatore (livello 1) CS3007
Aggiornamento: novembre 2007
Messaggio di errore
Il metodo di overload 'metodo' che differisce solo per i tipi matrice senza nome non è compatibile con CLS.
Overloaded method 'method' differing only by unnamed array types is not CLS-compliant
Questo errore si verifica quando si utilizza un metodo di overload che accetta una matrice irregolare e le firme del metodo si differenziano solo per il tipo di elemento della matrice. Per correggere l'errore, utilizzare una matrice rettangolare anziché irregolare, aggiungere un parametro in modo da evitare ambiguità nella chiamata della funzione oppure ridenominare uno o più metodi di overload. In alternativa, se la compatibilità con CLS non è necessaria, rimuovere l'attributo CLSCompliantAttribute. Per ulteriori informazioni sulla compatibilità con CLS, vedere Scrittura di codice compatibile con CLS e Specifiche CLS (Common Language Specification).
Esempio
Il seguente codice di esempio genera l'avviso CS3007:
// CS3007.cs
[assembly: System.CLSCompliant(true)]
public struct S
{
public void F(int[][] array) { }
public void F(byte[][] array) { } // CS3007
// Try this instead:
// public void F1(int[][] array) {}
// public void F2(byte[][] array) {}
// or
// public void F(int[,] array) {}
// public void F(byte[,] array) {}
}