Advertencia del compilador (nivel 1) CS3006

Actualización: noviembre 2007

Mensaje de error

El método sobrecargado 'método' que sólo se diferencia por ref u out, o en el rango de matriz, no es compatible con CLS
Overloaded method 'method' differing only in ref or out, or in array rank, is not CLS-compliant

Un método no se puede sobrecargar basándose en el parámetro ref u out y seguir siendo compatible con Common Language Specification (CLS). Para obtener más información sobre la compatibilidad con CLS, vea Escribir código compatible con CLS y Common Language Specification.

Ejemplo

En el siguiente ejemplo se genera CS3006. Para resolver esta advertencia, convierta en comentario el atributo de nivel de ensamblado o quite una de las definiciones de método.

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