Do calculation in Property getter : Property « Class Module « VB.Net Tutorial






Imports System
Imports System.Data.OleDb
Imports System.ComponentModel.Component

Class Employee
  Private MName As String
  Private MDob As DateTime
  Private MCompany As String

  Public Sub New(ByVal name As String, ByVal dob As DateTime)

    MName = name
    MDob = dob
    MCompany = "ABC"
  End Sub

  Public Property Name() As String
    Get
      Return MName
    End Get

    Set(ByVal Value As String)
      MName = Value
    End Set
  End Property

  Public ReadOnly Property Age() As Integer
    Get
      Dim today As DateTime = DateTime.Now

      Dim Years As Integer = DateTime.Now.Year - mDob.Year

      If (today.Month < MDob.Month) Or _
         (today.Month = MDob.Month And _ 
          today.Day < MDob.Day) Then
        Years -= 1
      End If

      Return years
    End Get
  End Property

End Class

Module Test
  Sub Main()
    Dim AEmployee As New Employee("A", New DateTime(1964, 12, 3))

    Console.WriteLine("{0} is {1}", AEmployee.Name, AEmployee.Age)
  End Sub
End Module
A is 42








6.38.Property
6.38.1.Define and use a Property
6.38.2.Default Property
6.38.3.Two properties
6.38.4.Do calculation in Property getter
6.38.5.Properties with Getter and Setter
6.38.6.Shared variable and Shared Property
6.38.7.Class with a property that performs validation
6.38.8.ReadOnly property
6.38.9.MultiKey Properties
6.38.10.Overloaded Properties
6.38.11.Shared Properties
6.38.12.Single Indexed Property
6.38.13.Loop through two dimensional array with GetUpperBound and GetLowerBound
6.38.14.Use Property to set private data
6.38.15.Do data check in property set
6.38.16.Convert data type in property set
6.38.17.Throw Exception in Property setting
6.38.18.Change value in Property getter
6.38.19.Friend Property
6.38.20.Readable and Writable
6.38.21.Person with FirstName and LastName Property
6.38.22.Define a class with one property and retrieves the name and type of the property