2009-09-04 6 views
2

Je n'arrive pas à comprendre comment convertir ce code de C# en VB.net. Il dit - Argument non spécifié pour le paramètre 'y' dans le code appelant ci-dessous.La conversion de C# en VB.net ne compilera pas <param name = "x"

Des suggestions?

Merci


téléphonique:

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 

Répondre

3
list.Sort(AddressOf Utility.CompareContactListsBySortOrder) 

Dans VB, vous utilisez l'opérateur AddressOf pour prendre l'adresse de la méthode pour créer un délégué. En C#, vous spécifiez simplement le nom de la méthode.

+0

Merci! Vous êtes rapide aussi! – user32183

0

vous devez changer pour: list.sort (AddressOf Utility.CompareContactListsBySortOrder)

Questions connexes