PropertyInfo.PropertyType Propriedade

Definição

Obtém o tipo dessa propriedade.

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

Valor da propriedade

Type

O tipo dessa propriedade.

Implementações

Exemplos

O exemplo a seguir define uma Employee classe que tem cinco propriedades. Em seguida, ele usa recupera uma matriz de objetos que representam essas propriedades e PropertyInfo exibe o nome e o tipo de cada um.

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)

Comentários

Para determinar o tipo de uma propriedade específica, faça o seguinte:

  1. Obter um Type objeto que representa o tipo (a classe ou a estrutura) que contém a propriedade . Se você estiver trabalhando com um objeto (uma instância de um tipo), poderá chamar seu GetType método . Caso contrário, você pode usar o operador C# ou o operador Visual Basic GetType, como ilustra o exemplo.

  2. Obter um PropertyInfo objeto que representa a propriedade na qual você está interessado. Você pode fazer isso ao obter uma matriz de todas as propriedades do método e, em seguida, iterar os elementos na matriz ou pode recuperar o objeto que representa a propriedade diretamente chamando o método e especificando o nome da Type.GetProperties PropertyInfo Type.GetProperty propriedade.

  3. Recupere o valor da PropertyType propriedade do PropertyInfo objeto .

Aplica-se a