aviso do compilador (nível 1) CS3007

Mensagem de erro

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 usa 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 um retangular de matriz em vez de uma matriz denteada; use um parâmetro adicional disambiguate a telefonar de função; renomeie um ou mais dos métodos sobrecarregados; ou, se CLS Compliance não é necessário, remova o CLSCompliantAttribute atributo. Para obter mais informações sobre a conformidade de CLS, consulte Escrevendo código compatível com CLS e CLS (Common Language Specification).

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