При преобразовании проекта (в котором шаблонный метод 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, так в чем же проблема сейчас?