VB.NET ToString Overrides Example

This VB.NET program demonstrates how to use an Overrides Function for ToString.
ToString is often useful in VB.NET programs. It allows us to provide a custom ToString function on a VB.NET class. By using an Overrides ToString function, we specify how an instance renders itself as a String.ClassStrings
Example. This program introduces the Perl class. This class, by default, inherits from the Object class. On the Object class (not shown) there exists an Overridable Function ToString.

Class: The Perl class here provides the implementation that overrides ToString.

Object: When Perl is used as an Object, its custom ToString implementation is still used.

New: When we construct the Perl instance, its fields are set to 2 and 3. It is passed to the Console.WriteLine subroutine as an Object.

Console: In Console.WriteLine, the ToString function is called on that Object. The Overrides Function ToString implementation is used.

VB.NET program that overrides ToString Module Module1 Class Perl Dim _a As Integer Dim _b As Integer Public Sub New(ByVal a As Integer, ByVal b As Integer) _a = a _b = b End Sub Public Overrides Function ToString() As String Return String.Format("[{0}, {1}]", _a, _b) End Function End Class Sub Main() Dim p As Perl = New Perl(2, 3) Console.WriteLine(p) End Sub End Module Output [2, 3]
Discussion. In the VB.NET language, we see Overridable functions and Overrides functions. These are semantically equivalent to virtual and override methods in the C# language. They have the same meaning.

Opinion: The term "overridable" may be a clearer description of a virtual function. The term virtual is less obvious.

Summary. We looked at how you can provide the ToString function in your VB.NET program. This function returns a String. You can use any logic you wish to construct the String. It should use the Overrides modifier.

And: This will cause it to be used as the implementation for less derived type references such as Object.

© 2007-2020 Sam Allen. Every person is special and unique. Send bug reports to
Dot Net Perls