プロジェクト (IComparable のテンプレート メソッドが数回使用された) を VS 2005 から VS 2008 に変換すると、いくつかのエラーが発生しました。
Error 12 Type argument 'Object' does not inherit from or implement
the constraint type 'System.IComparable'.
これは、System.Object がそのインターフェイスを実装しなくなった、または変換中に何か問題が発生したという実際の事実ですか? これをどうにか修正できますか?
問題は次の方法にあります。
Public Function ValueIn(Of T As IComparable)(ByVal pValue As T, ByVal ParamArray pArgs() As T) As Boolean
For Each MyArg As T In pArgs
If pValue.CompareTo(MyArg) = 0 Then
Return True
End If
Next
Return False
End Function
そして、次のような単純なものでも:
Dim a as Object = 1
ValueIn(a,1,2)
上記のエラーが発生します。VS 2005 では完全に機能していましたが、現在何が問題になっているのでしょうか?