Also haben wir kürzlich eine Anwendung von .NET 1.1 nach .NET 4.0 migriert. Und damit gab es eine Reihe von Kompatibilitätsproblemen, die wir beheben mussten. Einer von ihnen ist, dass ein Codeblock die InvalidOperationException
wirft.BinarySearch - Fehler beim Vergleich zweier Elemente im Array
Public Function MyFunction(ByVal Params As myParams, ByVal ParamArray someNumber As Integer()) As myData
...
If someNumber.BinarySearch(options, MyEnum.Something) >= 0 Then
...
EndIf
...
EndFunction
Bevor wir zu .NET4 migrierten, funktionierte das in .NET1 richtig. Basierend auf einigen Threads, die ich gelesen habe, gab es Berichte über dieses Problem, das in .NET4 behoben wurde. Um dies in meiner aktuellen Version zu beheben, muss ich die IComparable-Schnittstelle für alle Elemente des Arrays implementieren.
Wie kann ich das beheben? Ich würde jede Hilfe und Zeiger schätzen. Vielen Dank!
EDIT: Hinzufügen der Verknüpfung zu der BinarySearch-Methode, die wir im Code verwenden. https://msdn.microsoft.com/en-us/library/y15ef976.aspx
Können wir den Code der binären Suche sehen, der die Vergleiche durchführt? – codemonkeyliketab
Es ist eine integrierte Funktion von System.Array. – Smiley
Welcher?Wir brauchen mehr Informationen, um Ihnen zu helfen. – codemonkeyliketab