Bonjour à tous,
je bute sur un problème, ma fonction de trie ne fonctionne pas, bien que je n'ai aucun message d'erreur. Voici mon code :
Je voudrais trier sur la propriété GearRatio qui est simplement le rapport B/A.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
Dim Listàtrier as new List (of Gear)
Dim Gear1 As  Gear
Gear1 = New Gear(2, 3)
Listàtrier.Add(Gear1)
Gear1 = New Gear(3, 2)
Listàtrier.Add(Gear1)
Gear1 = New Gear(2, 2)
Listàtrier.Add(Gear1)
 
Listàtrier.OrderBy(Function(Gear) Gear.GearRatio)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Public Class Gear
    Private _A As Integer
    Private _B As Integer
    Private _GearRatio As Single
    Private Sub New()
 
    End Sub
    Public Sub New(A As Integer, B As Integer)
        _A = A
        _B = B
        Calcul()
    End Sub
    Public Property A() As Integer
        Get
            Return _A
        End Get
        Set(ByVal value As Integer)
            _A = value
            Calcul()
        End Set
    End Property
    Public Property B() As Integer
        Get
            Return _B
        End Get
        Set(ByVal value As Integer)
            _B = value
            Calcul()
        End Set
    End Property
    Private Sub Calcul()
        _GearRatio = Rapport(_A, _B)
    End Sub
    Public Function Rapport(ByVal A As Integer, ByVal B As Integer) As Single
        If A = 0 Then Throw New Exception("Erreur : Division par zero. A=0")
        Return CSng(B / A)
    End Function
    Public ReadOnly Property GearRatio As Single
        Get
            Return _GearRatio
        End Get
    End Property
End Class
Pouvez vous m'aider s'il vous plait.