Envoyé par
billybobbonnet
- Est-ce que c'est correct?
- Est-ce que je peux, comme dans l'exemple (première propriété), utiliser un autre objet POCO comme type attendu d'une de mes propriétés?
- Est-ce que je peux utiliser des propriétés intégrant un bout de méthode, comme ContentLenght, par exemple (la dernière)?
Oui, oui et oui. Encore que j'ai un doute sur ces parenthèses dans ta syntaxe VB. Par contre on peut faire plus simple avec les propriétés auto-implémentées :
1 2 3
| Friend Class Lot
Protected Friend Overridable Property ItemNumber As Byte
Protected Friend Overridable Property Item As Item |
Tu pourrais même utiliser de simples champs après tout, tu n'as pas forcément besoin de propriétés. Par ailleurs à toi de voir si tu as vraiment besoin de Overridable et s'il ne serait pas plus judicieux de déclarer le type en Friend et ses membres en Public.
- Est-ce qu'en dehors du get/set, il est possible/pertinent, d'ajouter des fonctions maison, comme par exemple un "AddItem" qui ajoute au tableau d'item un élément après un ReDim ou "LastItem" qui me sort le dernier item de la collection
Possible et sans doute pertinent. Fais ce qui te donnera le code le plus lisible, concis et évident. Il n'y a pas d'autre règles ici.
- Il n'y a pas de constructeur dans les exemples MSDN. Il n'est pas nécessaire?
Pas nécessaire : si tu n'en spécifies pas un constructeur par défaut est ajouté. Par ailleurs tu peux parfois avantageusement utiliser le mot-clé With plutôt que de créer des pelletées de constructeurs. Encore une fois écris ce qui te semble le plus lisible.
Dim theVar As New theClass With {.theFirstProperty = "Sam", .theSecondProperty = 12345}
- Est-ce que l'accès simultané par plusieurs threads est possible en lecture (je suppose que oui) et en écriture (je suppose que non, en tout cas pas sans lock)
Tu as raison : l'accès simultané est possible en lecture mais l'écriture requiert une synchronisation.
Partager