PropertyInfo.PropertyType Egenskap

Definition

Hämtar typen av den här egenskapen.

public:
 abstract property Type ^ PropertyType { Type ^ get(); };
public abstract Type PropertyType { get; }
member this.PropertyType : Type
Public MustOverride ReadOnly Property PropertyType As Type

Egenskapsvärde

Typen av den här egenskapen.

Implementeringar

Exempel

I följande exempel definieras en Employee klass som har fem egenskaper. Den använder sedan hämtar en matris med PropertyInfo objekt som representerar dessa egenskaper och visar namnet och typen av varje.

using System;
using System.Reflection;

public class Employee
{
   private string _id;

   public String FirstName { get; set; }
   public String MiddleName { get; set; }
   public String LastName  { get; set; }
   public DateTime HireDate  { get; set; }

   public String ID
   {
      get { return _id; }
      set {
         if (ID.Trim().Length != 9)
            throw new ArgumentException("The ID is invalid");
         _id = value;
      }
   }
}

public class Example
{
   public static void Main()
   {
      Type t = typeof(Employee);
      Console.WriteLine("The {0} type has the following properties: ",
                        t.Name);
      foreach (var prop in t.GetProperties())
         Console.WriteLine("   {0} ({1})", prop.Name,
                           prop.PropertyType.Name);
   }
}
// The example displays the following output:
//       The Employee type has the following properties:
//          FirstName (String)
//          MiddleName (String)
//          LastName (String)
//          HireDate (DateTime)
//          ID (String)
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)

Kommentarer

Gör följande för att fastställa typen av en viss egenskap:

  1. Hämta ett Type objekt som representerar den typ (klassen eller strukturen) som innehåller egenskapen. Om du arbetar med ett objekt (en instans av en typ) kan du anropa dess GetType metod. Annars kan du använda C#-operatorn eller operatorn Visual Basic GetType som exemplet illustrerar.

  2. Hämta ett PropertyInfo objekt som representerar den egenskap som du är intresserad av. Du kan göra detta genom att hämta en matris med alla egenskaper från Type.GetProperties metoden och sedan iterera elementen i matrisen, eller så kan du hämta objektet PropertyInfo som representerar egenskapen direkt genom att anropa Type.GetProperty metoden och ange egenskapsnamnet.

  3. Hämta värdet för PropertyType egenskapen från objektet PropertyInfo .

Gäller för