参见英文答案 >
Class ‘QueryParameterComparer’ must implement Function Compare.2个
我得到错误:类’QueryParameterComparer’必须为接口’System.Collections.Generic.IComparer(Of QueryParameter)’实现’Function Compare(x As QueryParameter,y As QueryParameter)As Integer’.
我得到错误:类’QueryParameterComparer’必须为接口’System.Collections.Generic.IComparer(Of QueryParameter)’实现’Function Compare(x As QueryParameter,y As QueryParameter)As Integer’.
在这个类定义上:
Protected Class QueryParameterComparer Implements IComparer(Of QueryParameter) Public Function Compare(x As QueryParameter,y As QueryParameter) As Integer If x.Name = y.Name Then Return String.Compare(x.Value,y.Value) Else Return String.Compare(x.Name,y.Name) End If End Function End Class
我也尝试过完全写出来:
Protected Class QueryParameterComparer Implements System.Collections.Generic.IComparer(Of QueryParameter) Public Function Compare(x As QueryParameter,y.Name) End If End Function End Class
我错过了什么?
与c#不同,其中方法的名称必须与接口中的名称相匹配,在VB.NET中,必须始终使用每个成员上的Implements关键字明确声明所有接口实现:
Protected Class QueryParameterComparer Implements IComparer(Of QueryParameter) Public Function Compare(x As QueryParameter,y As QueryParameter) As Integer Implements IComparer(Of QueryParameter).Compare ' ... End Function End Class