最近、.NET 1.1から.NET 4.0にアプリケーションを移行しました。 それで、修正する必要のある互換性の問題がたくさんありました。 その1つは、コードブロックがInvalidOperationException
を投げていることです。BinarySearch - 配列の2つの要素を比較できません
Public Function MyFunction(ByVal Params As myParams, ByVal ParamArray someNumber As Integer()) As myData
...
If someNumber.BinarySearch(options, MyEnum.Something) >= 0 Then
...
EndIf
...
EndFunction
.NET4に移行する前に、これは.NET1で正しく機能していました。今私が読んできたいくつかのスレッドに基づいて、.NET4.5で修正されたこの問題についての報告がありました。現在のバージョンでこれを修正するには、配列のすべての要素にIComparableインターフェイスを実装する必要があります。
これを修正するにはどうすればよいですか?私はどんな助けとポインタにも感謝します。ありがとう!
EDIT:コード内で使用しているBinarySearchメソッドへのリンクを追加します。 https://msdn.microsoft.com/en-us/library/y15ef976.aspx
比較を行っているバイナリ検索のコードを確認できますか? – codemonkeyliketab
これはSystem.Arrayの組み込み関数です。 – Smiley
どちらですか?私たちはあなたを助けるためにさらに多くの情報が必要です。 – codemonkeyliketab