Как я могу прочитать атрибуты, присвоенные свойствам класса? - PullRequest
3 голосов
/ 27 октября 2011

Учитывая следующий класс

Public Class Customer
    Inherits XPBaseObject

    Private _CustomerID As Integer = -1

    <Key(True), _
    Custom("AllowNull", "True"), _
    Custom("AutoInc", "True"), _
    DbType("int")> Public Property CustomerID() As Integer
        Get
            Return _CustomerID
        End Get
        Set(ByVal value As Integer)
            SetPropertyValue(Of Integer)("CustomerID", _CustomerID, value)
        End Set
    End Property
End Class

Как я могу прочитать пользовательские атрибуты CustomerID или любого другого свойства?

Заранее спасибо

1 Ответ

2 голосов
/ 27 октября 2011

Использование отражения:

Dim properties As PropertyInfo() = Me.[GetType]().GetProperties()
For Each prop As PropertyInfo In properties
    Dim attribute As Attribute = prop.GetCustomAttributes(GetType(Attribute), True)_
        .OfType(Of Attribute)()_
        .FirstOrDefault()
Next
...