Я новичок в пользовательских атрибутах, поэтому мне интересно, можно ли получить значения атрибутов. Пример свойств в моем классе, который я использую пользовательские атрибуты это:VB.net Значения пользовательских атрибутов
Private mFiller As String
<Position(378), Length(34), DataType("A"), ParticipantDependant("P/D"), RequiredProperty("Required"), Format("Blank")> _
Public Property Filler() As String
Get
Return mFiller
End Get
Set(ByVal value As String)
mFiller = value
End Set
End Property
Я пытаюсь получить значения этих атрибутов (т.е. получить позицию = 378, длина = 34 и т.д.). , Петля я начинал с выглядит следующим образом:
Dim gwlImport As New ClientGWLImport
Dim properties() As PropertyInfo = gwlImport.GetType.GetProperties
Dim tmpInfo As PropertyInfo
For Each tmpInfo In properties
Debug.Print("Attributes for : " & tmpInfo.Name)
For Each tmpAttribute As Object In tmpInfo.GetCustomAttributes(True)
Debug.Print(tmpAttribute.ToString)
Next tmpAttribute
Next tmpInfo
Это заставляет меня имена всех атрибутов, но я не уверен, как получить значение. Есть идеи?
Приветствия,
Ryan
posAtt = tmpInfo.GetCustomAttributes (GetType (PositionAttribute), True) (0) As PositionAttribute ???? Новый синтаксис? – Codezy
Помимо ошибки синтаксиса, это именно то, что я ищу. Он должен читать: posAtt = CType (tmpInfo.GetCustomAttributes (GetType (PositionAttribute), True) (0), PositionAttribute) – bornbnid
Извините за синтаксическую ошибку; Я слишком привык к C#. – SLaks