Freigeben über


PropertyInfo.PropertyType Eigenschaft

Definition

Ruft den Typ dieser Eigenschaft ab.

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

Eigenschaftswert

Der Typ dieser Eigenschaft.

Implementiert

Beispiele

Im folgenden Beispiel wird eine Employee Klasse definiert, die über fünf Eigenschaften verfügt. Anschließend wird verwendet, um ein Array von PropertyInfo Objekten abzurufen, die diese Eigenschaften darstellen, und zeigt den Namen und Typ der einzelnen Objekte an.

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)

Hinweise

Gehen Sie wie folgt vor, um den Typ einer bestimmten Eigenschaft zu bestimmen:

  1. Rufen Sie ein Type -Objekt ab, das den Typ (die Klasse oder Struktur) darstellt, der die -Eigenschaft enthält. Wenn Sie mit einem Objekt (einem instance eines Typs) arbeiten, können Sie dessen GetType Methode aufrufen. Andernfalls können Sie den C#-Operator oder den Visual Basic GetType-Operator verwenden, wie im Beispiel veranschaulicht.

  2. Rufen Sie ein PropertyInfo -Objekt ab, das die Eigenschaft darstellt, an der Sie interessiert sind. Hierzu können Sie ein Array aller Eigenschaften aus der Type.GetProperties -Methode abrufen und dann die Elemente im Array durchlaufen, oder Sie können das Objekt, das die PropertyInfo Eigenschaft darstellt, direkt abrufen, indem Sie die Type.GetProperty -Methode aufrufen und den Eigenschaftennamen angeben.

  3. Rufen Sie den Wert der PropertyType -Eigenschaft aus dem PropertyInfo -Objekt ab.

Gilt für: