PropertyInfo.PropertyType Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает тип свойства.
public:
abstract property Type ^ PropertyType { Type ^ get(); };
public abstract Type PropertyType { get; }
member this.PropertyType : Type
Public MustOverride ReadOnly Property PropertyType As Type
Значение свойства
Тип этого свойства.
Реализации
Примеры
В следующем примере определяется класс с пятью Employee
свойствами. Затем используется получение массива PropertyInfo объектов, представляющих эти свойства, и отображается имя и тип каждого из них.
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)
Комментарии
Чтобы определить тип определенного свойства, выполните следующие действия.
Type Возвращает объект , представляющий тип (класс или структуру), содержащий свойство . При работе с объектом (экземпляром типа) можно вызвать его GetType метод . В противном случае можно использовать оператор C# или оператор GetType Visual Basic, как показано в примере.
PropertyInfo Получите объект , представляющий интересующее вас свойство. Для этого можно получить массив всех свойств из Type.GetProperties метода и затем выполнить итерацию элементов в массиве, или получить PropertyInfo объект, представляющий свойство напрямую, вызвав Type.GetProperty метод и указав имя свойства.
Получение значения PropertyType свойства из PropertyInfo объекта .