Chapter 17 Travailler avec VB .NET


Propriété

Pour concevoir une propriété VB .NET, vous devez créer un attribut ayant le stéréotype <<Property>>, un autre attribut avec le stéréotype <<PropertyImplementation>> est alors automatiquement créé, il s'affiche avec un trait de soulignement dans la liste des attributs. Les opérations getter et setter correspondantes sont également automatiquement créées.

Vous pouvez supprimer l'attribut de mise en oeuvre.

Si vous supprimez l'opération getter, le mot-clé ReadOnly est automatiquement généré. Si vous supprimez l'opération setter, le mot clé WriteOnly est automatiquement généré. Si vous supprimez à la fois les opérations getter et setter, l'attribut n'a plus le stéréotype <<Property>>.

Lorsque vous définissez un attribut <<Property>>, le caractère modifiable ou non et les opérations getter/setter sont intimement liés comme indiqué dans le tableau suivant 

Opérations Caractère modifiable de la propriété
Si vous conservez les opérations getter et setter La propriété est Modifiable
Si vous supprimez l'opération setter d'une propriété modifiable La propriété devient Lecture seule
Si vous supprimez l'opération getter d'une propriété modifiable La propriété devient Ecriture seule

D'un autre côté, si vous modifiez le caractère modifiable ou non de la propriété, les opérations refléteront ce changement, par exemple si vous transformez une propriété modifiable en propriété en lecture seule, l'opération setter est automatiquement supprimée.

Dans l'exemple suivant, la classe Button contient une propriété Caption. L'opération Getter a été supprimée car elle provoque l'apparition du mot clé WriteOnly dans la ligne de déclaration de la propriété :


Public Class Button
   Private captionValue As String
   Public WriteOnly Property Caption() As String
      Set (ByVal Value As String)
         captionValue = value
         Repaint()
         
      End Set
   End Property
End Class

Public Class Person
   Private _ChildAge As Integer
   
   Private Property ChildAge(ChildName as String) As Integer
      Get
         return _ChildAge
      End Get
      Set (ByVal Value ChildAge As Integer)
         If (_ChildAge <> newChildAge)
            _ChildAge = newChildAge
         End If
      End Set
   End Property
End Class

 


Copyright (C) 2005. Sybase Inc. All rights reserved.