Language Basics VB.Net

Imports System
Imports System.Diagnostics
Public Class MainClass
    Private Delegate Function NumEmployeesDelegate() As Integer
    Shared Sub Main()
        Dim emp As New Employee("Rod", "Stephens")
        Dim show_num As NumEmployeesDelegate
    
        show_num = AddressOf Employee.GetNumEmployees
        Console.WriteLine(show_num().ToString)
    End Sub
End Class
Public Class Employee
    ' In a real application, this would return 
    ' some sort of array or collection's size.
    Public Shared Function GetNumEmployees() As Integer
        Return 13
    End Function
    ' The Employee's first name.
    Private m_FirstName As String = ""
    Public Property FirstName() As String
        Get
            Return m_FirstName
        End Get
        Set(ByVal value As String)
            m_FirstName = value
        End Set
    End Property
    ' The Employee's last name.
    Private m_LastName As String = ""
    Public Property LastName() As String
        Get
            Return m_LastName
        End Get
        Set(ByVal value As String)
            m_LastName = value
        End Set
    End Property
    Public Sub New(ByVal first_name As String, ByVal last_name As String)
        m_FirstName = first_name
        m_LastName = last_name
    End Sub
    Public Overrides Function ToString() As String
        Return m_FirstName & " " & m_LastName
    End Function
End Class