Class with a property that performs validation : Property « Class Module « VB.Net Tutorial






Module YourClassTest
   Sub Main()
      Dim obj1 As New YourClass("AAA")
      Dim obj2 As New YourClass("SSSSSSSSSSSSSSSSSSs")

      Console.WriteLine(obj1.YourName)
      Console.WriteLine(obj2.YourName)

      obj1.YourName = "asdfasdfasdfasdf"

      Console.WriteLine("obj1's course name is: " & obj1.YourName)
      Console.WriteLine("obj2's course name is: " & obj2.YourName)
   End Sub ' Main
End Module


Public Class YourClass
   Private yourNameValue As String ' course name for this YourClass

   Public Sub New(ByVal name As String)
      YourName = name ' validate and store course name
   End Sub ' New

   Public Property YourName() As String
      Get ' retrieve yourNameValue
         Return yourNameValue
      End Get

      Set(ByVal value As String) 
         If value.Length <= 5 Then ' if value has 5 or fewer characters
            yourNameValue = value ' store the course name in the object
         End If

         If value.Length > 5 Then ' if value has more than 5 characters
            yourNameValue = value.Substring(0, 5)

            Console.WriteLine("Name """ & value & """ exceeds maximum length (5).")
            Console.WriteLine("Limiting name to first 5 characters." & vbCrLf)
         End If
      End Set
   End Property ' YourName

   Public Sub DisplayMessage()
      Console.WriteLine("Welcome to " & YourName & "!")
   End Sub ' DisplayMessage
End Class
Name "SSSSSSSSSSSSSSSSSSs" exceeds maximum length (5).
Limiting name to first 5 characters.

AAA
SSSSS
Name "asdfasdfasdfasdf" exceeds maximum length (5).
Limiting name to first 5 characters.

obj1's course name is: asdfa
obj2's course name is: SSSSS








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