PropertyInfo.PropertyType Property

 

Gets the type of this property.

Namespace:   System.Reflection
Assembly:  mscorlib (in mscorlib.dll)

Public MustOverride ReadOnly Property PropertyType As Type

Property Value

Type: System.Type

The type of this property.

To determine the type of a particular property, do the following:

  1. Get a Type object that represents the type (the class or structure) that contains the property. If you are working with an object (an instance of a type), you can call its GetType method. Otherwise, you can use the C# operator or the Visual Basic operator, as the example illustrates.

  2. Get a PropertyInfo object that represents the property in which you're interested. You can do this by getting an array of all properties from the Type.GetProperties method and then iterating the elements in the array, or you can retrieve the PropertyInfo object that represents the property directly by calling the Type.GetProperty method and specifying the property name.

  3. Retrieve the value of the PropertyType property from the PropertyInfo object.

The following example defines an Employee class that has five properties. It then uses retrieves an array of PropertyInfo objects that represent those properties and displays the name and type of each.

Imports System.Reflection

Public Class Employee
   Private _id As String

   Public Property FirstName As String = String.Empty
   Public Property MiddleName As String = String.Empty
   Public Property LastName As String = String.Empty
   Public Property HireDate As Date = Date.Today

   Public Property ID As String
      Get
         Return _id
      End Get
      Set
         If ID.Trim().Length <> 9 Then _
            Throw New ArgumentException("The ID is invalid")
         _id = value
      End Set
   End Property
End Class

Module Example
   Public Sub Main()
      Dim t As Type = GetType(Employee)
      Console.WriteLine("The {0} type has the following properties: ",
                        t.Name)
      For Each prop In t.GetProperties()
         Console.WriteLine("   {0} ({1})", prop.Name,
                           prop.PropertyType.Name)
      Next
   End Sub
End Module
' The example displays the following output:
'    The Employee type has the following properties:
'       FirstName (String)
'       MiddleName (String)
'       LastName (String)
'       HireDate (DateTime)
'       ID (String)

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top
Show: