CS3007 de aviso (nível 1) do compilador

Método sobrecarregado 'method' difere somente pelos tipos de matriz sem nome não é compatível com CLS

Este erro ocorre se você tiver um método sobrecarregado que leva a uma matriz denteada e a única diferença entre as assinaturas de método é o tipo de elemento da matriz.Para evitar esse erro, considere o uso de uma matriz retangular, em vez de uma matriz denteada; usar um parâmetro adicional a ambigüidade de chamada de função; Renomeie um ou mais dos métodos sobrecarregados; ou, se a compatibilidade com CLS não é necessário, remova o CLSCompliantAttribute atributo.Para obter mais informações sobre compatibilidade com CLS, consulte Escrevendo código compatível com CLS e Especificação da linguagem comum.

Exemplo

O exemplo a seguir gera 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) {}
}