Share via


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) {}
}