Freigeben über


<Prozedursignatur1> überlädt '<Prozedursignatur2>', unterscheidet sich jedoch nur durch Array-von-Array-Parametertypen oder durch den Rang der Arrayparametertypen davon und ist daher nicht CLS-kompatibel

Aktualisiert: November 2007

<proceduresignature1> is not CLS-compliant because it overloads <proceduresignature2> which differs from it only by array of array parameter types or by the rank of the array parameter types

Eine Prozedur oder Eigenschaft ist als <CLSCompliant(True)> markiert, doch sie überschreibt eine andere Prozedur bzw. Eigenschaft, und ihre Parameterlisten unterscheiden sich nur durch die Schachtelungsebene eines verzweigten Arrays oder den Rang eines Arrays.

In den folgenden Deklarationen wird dieser Fehler durch die zweite und dritte Deklaration generiert.

Overloads Sub processArray(ByVal arrayParam() As Integer)

Overloads Sub processArray(ByVal arrayParam()() As Integer)

Overloads Sub processArray(ByVal arrayParam(,) As Integer)

Die zweite Deklaration ändert den ursprünglich eindimensionalen Parameter arrayParam in ein Array von Arrays. Die dritte Deklaration ändert arrayParam in ein zweidimensionales Array (Rang 2). In Visual Basic ist die Abweichung von Überladungen durch nur eine dieser Änderungen zulässig, doch ist eine solche Überladung nicht mit der CLS (Common Language Specification) (CLS) kompatibel.

Wenn Sie CLSCompliantAttribute auf ein Programmierelement anwenden, legen Sie den isCompliant-Parameter des Attributs auf True oder auf False fest, um die Kompatibilität bzw. Nichtkompatibilität anzugeben. Es gibt keinen Standardwert für diesen Parameter, und Sie müssen einen Wert angeben.

Wenn Sie CLSCompliantAttribute nicht auf ein Element anwenden, wird dieses als nicht kompatibel betrachtet.

Standardmäßig ist diese Meldung eine Warnung. Informationen über das Ausblenden von Warnungen bzw. über die Behandlung von Warnungen als Fehler finden Sie unter Konfigurieren von Warnungen in Visual Basic.

Fehler-ID: BC40035

So beheben Sie diesen Fehler

  • Wenn CLS-Kompatibilität erforderlich ist, definieren Sie die Überladungen mit mehr Unterschieden zwischen den Überladungen als den auf dieser Hilfeseite genannten Änderungen.

  • Wenn sich die Überladungen nur durch die auf dieser Hilfeseite genannten Änderungen unterscheiden dürfen, entfernen Sie das CLSCompliantAttribute aus ihren Definitionen, oder markieren Sie sie als <CLSCompliant(False)>.

Siehe auch

Konzepte

Schreiben von CLS-kompatiblem Code

Prozedurüberladung

Referenz

Overloads