Compiler Warning (level 1) CS3007

Die überladene "Methode"-Methode, die sich nur durch unbenannte Arraytypen unterscheidet, ist nicht CLS-kompatibel.

Dieser Fehler tritt auf, wenn eine überladene Methode mit einem verzweigten Array vorhanden ist und die Methodensignaturen sich lediglich durch den Elementtyp des Arrays unterscheiden. Um diesen Fehler zu vermeiden, verwenden Sie statt eines verzweigten Arrays ein rechteckiges Array. Verwenden Sie einen zusätzlichen Parameter, um den Funktionsaufruf eindeutig festzulegen. Benennen Sie mindestens eine der überladenen Methoden um. Wenn keine CLS-Kompatiblität erforderlich ist, können Sie auch das CLSCompliantAttribute-Attribut entfernen. Weitere Informationen über die CLS-Kompatibilität finden Sie unter Sprachenunabhängigkeit und sprachunabhängige Komponenten.

Beispiel

Im folgenden Beispiel wird der Fehler CS3007 generiert:

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