Class BaseClass
Implements IFormattable
Implements IComparable
Public Value As String
Public Overridable Overloads Function ToString(ByVal _
Format As String, ByVal Provider As IFormatProvider) _
As String Implements IFormattable.ToString
ToString = Value
End Function
Public Overridable Overloads Function CompareTo(ByVal A _
As Object) As Integer Implements IComparable.CompareTo
If (Value = A.Value) Then
CompareTo = 0
ElseIf (Value < A.Value) Then
CompareTo = -1
Else
CompareTo = 1
End If
End Function
Public Sub New(ByVal Value As String)
Me.Value = Value
End Sub
End Class
Class DerivedClass
Inherits BaseClass
Public Overrides Function ToString(ByVal _
Format As String, ByVal Provider As IFormatProvider) _
As String
ToString = UCase(Value)
End Function
Public Sub New(ByVal Value As String)
MyBase.New(Value)
End Sub
End Class
Module Module1
Sub Main()
Dim A As New BaseClass("Hello")
Dim B As New DerivedClass("Hi")
Console.WriteLine(A)
Console.WriteLine(B)
Console.WriteLine(A.CompareTo(B))
End Sub
End Module
|