VB.Net by API/System/IComparable
Implements IComparable
<source lang="vbnet"> Imports System Public Class MainClass
Shared Sub Main() Dim e1 As New Employee("E1", 50000) Dim e2 As New Employee("E2", 60000) Dim e3 As New Employee("E3", 20000) Dim e4 As New Employee("E4", 1) Dim theEmployees() As Employee = {e1, e2, e3, e4} Array.Sort(theEmployees) "call the CompareTo Dim aEmployee As Employee For Each aEmployee In theEmployees Console.WriteLine(aEmployee.TheName & " has yearly salary $" & FormatNumber(aEmployee.Salary)) Next End Sub
End Class Public Class Employee
Implements IComparable Private m_Name As String Private m_Salary As Decimal Public Sub New(ByVal theName As String, ByVal curSalary As Decimal) m_Name = TheName m_Salary = curSalary End Sub Public Function CompareTo(ByVal AnEmployee As Object) As Integer _ Implements IComparable.rupareTo If CType(AnEmployee, Employee).Salary < Me.Salary Then Return -1 ElseIf CType(AnEmployee, Employee).Salary = Me.Salary Then Return 0 ElseIf CType(AnEmployee, Employee).Salary > Me.Salary Then Return 1 End If End Function Public ReadOnly Property TheName() As String Get Return m_Name End Get End Property Public ReadOnly Property Salary() As Decimal Get Return MyClass.m_Salary End Get End Property
End Class
</source>