Avviso del compilatore (livello 1) CS3006

Aggiornamento: novembre 2007

Messaggio di errore

Il metodo di overload 'metodo' che differisce solo per ref o out o per numero di dimensioni della matrice non è compatibile con CLS.
Overloaded method 'method' differing only in ref or out, or in array rank, is not CLS-compliant

Non è possibile eseguire l'overload di un metodo in base al parametro ref o out e mantenere la compatibilità con CLS (Common Language Specification). 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 CS3006. Per correggere l'errore, impostare l'attributo a livello di assembly come commento oppure rimuovere una delle definizioni del metodo.

// CS3006.cs

using System;

[assembly: CLSCompliant(true)]
public class MyClass
{
    public void f(int i)
    {
    }

    public void f(ref int i)   // CS3006
    {
    }

    public static void Main()
    {
    }
}