在将项目(其中多次使用 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 中完美运行,那么现在可能是什么问题?