PropertyInfo.PropertyType Propriété

Définition

Obtient le type de cette propriété.

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

Valeur de propriété

Type de cette propriété.

Implémente

Exemples

L’exemple suivant définit une Employee classe qui a cinq propriétés. Il utilise ensuite un tableau d’objets PropertyInfo qui représentent ces propriétés et affiche le nom et le type de chacune d’elles.

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)

Remarques

Pour déterminer le type d’une propriété particulière, procédez comme suit :

  1. Obtenez un Type objet qui représente le type (la classe ou la structure) qui contient la propriété . Si vous utilisez un objet (un instance d’un type), vous pouvez appeler sa GetType méthode. Sinon, vous pouvez utiliser l’opérateur C# ou l’opérateur Visual Basic GetType , comme l’illustre l’exemple.

  2. Obtenez un PropertyInfo objet qui représente la propriété qui vous intéresse. Pour ce faire, vous pouvez obtenir un tableau de toutes les propriétés de la Type.GetProperties méthode, puis itérer les éléments du tableau, ou récupérer l’objet PropertyInfo qui représente la propriété directement en appelant la Type.GetProperty méthode et en spécifiant le nom de la propriété.

  3. Récupérez la valeur de la PropertyType propriété à partir de l’objet PropertyInfo .

S’applique à