2009-10-19 45 views
0

我想将这段代码从csharp转换为vb。使用免费csharp的所有孩子vb转换器,但得到一个错误。请让知道是否有人解决过这个问题。twitter oauth icomparer错误

错误:

类 'QueryParameterComparer' 必须实现 '功能比较(X作为OAuthBase.QueryParameter,Y如OAuthBase.QueryParameter)作为整数' 的界面 'System.Collections.Generic.IComparer(OF QueryParameter)'

从C#代码:

protected class QueryParameterComparer : IComparer<QueryParameter> 
    { 

     public int Compare(QueryParameter x, QueryParameter y) 
     { 
      if (x.Name == y.Name) 
      { 
       return string.Compare(x.Value, y.Value); 
      } 
      else 
      { 
       return string.Compare(x.Name, y.Name); 
      } 
     } 

    } 

到VB代码

Protected Class QueryParameterComparer 
     Implements IComparer(Of QueryParameter) 

     #Region "IComparer Members" 

     Public Function Compare(ByVal x As QueryParameter, ByVal 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 Region 
    End Class 

回答

1

尝试在每个参数类型前面粘贴OAuthBase.

或者使用OAuth库(如DotNetOpenAuthLinqToTwitter),因此您不必担心。 :)

+0

oAuthBase工作。谢谢 – vamsivanka 2009-10-19 14:44:00

+0

我之前做过,但我必须添加到实现IComparer(Of oAuthBase.QueryParameter) – vamsivanka 2009-10-19 14:45:29

-1
Public Function Compare(ByVal x As OAuth.QueryParameter, ByVal y As OAuth.QueryParameter) As Integer _ 
    Implements IComparer(Of QueryParameter).Compare 
1

在函数声明

器具的IComparer(中QueryParameter).Compare

的末尾添加此这样的话它的:

Public Function Compare(ByVal x As QueryParameter, ByVal y As QueryParameter) As Integer Implements IComparer(Of QueryParameter).Compare 
     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