2009-09-04 11 views
2

このコードをC#からVB.netに変換する方法がわかりません。それは言う - 引数は、下の呼び出しコードでパラメータ 'y'に指定されていません。VB.netへのC#の変換は行われません。<param name = "x"

提案がありますか?

おかげ


呼び出すCODE:

list.Sort(Utility.CompareContactListsBySortOrder) - error here in VB 

CODE:

/// <summary> 
    /// Defines the compare criteria for two Contact List instances 
    /// </summary> 
    /// <param name="x">Contact List to be compared</param> 
    /// <param name="y">Contact List to be compared</param> 
    /// <returns></returns> 
    public static int CompareContactListsBySortOrder(ContactList x, ContactList y) 
    { 
     if (x.SortOrder.HasValue && y.SortOrder.HasValue) 
     { 
      return x.SortOrder.Value.CompareTo(y.SortOrder.Value); 
     } 

     return 0; 
    } 

''' <summary> 
''' Defines the compare criteria for two Contact List instances 
''' </summary> 
''' <param name="x">Contact List to be compared</param> 
''' <param name="y">Contact List to be compared</param> 
''' <returns></returns> 
Public Shared Function CompareContactListsBySortOrder(ByVal x As ContactList, ByVal y As ContactList) As Integer 
    If x.SortOrder.HasValue AndAlso y.SortOrder.HasValue Then 
     Return x.SortOrder.Value.CompareTo(y.SortOrder.Value) 
    End If 

    Return 0 
End Function 

Private Shared Function InlineAssignHelper(Of T)(ByRef target As T, ByVal value As T) As T 
    target = value 
    Return value 
End Function 

答えて

3
list.Sort(AddressOf Utility.CompareContactListsBySortOrder) 

VBでは、AddressOf演算子を使用して、メソッドのアドレスを使用してデリゲートを作成します。 C#では、メソッド名を指定するだけです。あなたはそれを変更する必要が

+0

は、ありがとう!あなたも速いです! – user32183

0

: はlist.sort(のAddressOf Utility.CompareContactListsBySortOrder)

関連する問題