Sdílet prostřednictvím


Compilerwarnung (Stufe 1) CS3007

Aktualisiert: November 2007

Fehlermeldung

Die überladene "Methode"-Methode, die sich nur durch unbenannte Arraytypen unterscheidet, ist nicht CLS-kompatibel.
Overloaded method 'method' differing only by unnamed array types is not CLS-compliant

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 Schreiben von CLS-kompatiblem Code und CLS (Common Language Specification).

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