Je ne connais pas encore les attributs personnalisés, donc je me demande s'il est possible d'obtenir les valeurs des attributs. Un exemple des propriétés dans ma classe que j'utiliser les attributs personnalisés est:VB.net Valeurs des attributs personnalisés
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
Je suis en train d'obtenir les valeurs de ces attributs (c.-à-obtenir la position = 378, Longueur = 34, etc.). . La boucle I commençait à ressembler à ceci:
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
Cela me obtient les noms de tous les attributs, mais je ne suis pas sûr de savoir comment obtenir les valeurs. Des idées?
Cheers,
Ryan
posAtt = tmpInfo.GetCustomAttributes (GetType (PositionAttribute), True) (0) Comme PositionAttribute ???? Nouvelle syntaxe? – Codezy
Outre l'erreur de syntaxe, c'est exactement ce que je recherche. Il devrait indiquer: posAtt = CType (tmpInfo.GetCustomAttributes (GetType (PositionAttribute), True) (0), PositionAttribute) – bornbnid
Désolé pour l'erreur de syntaxe; Je suis trop habitué à C#. – SLaks