Bonjour.

Je débute en VB.NET, bien qu'ayant de la bouteille en VB6. Je tente de me mettre à une POO "propre", mais j'ai un effet de bord bien désagréable. Je tente de créer un gestionnaire de contacts téléphoniques. Simple en procédural, mais je suis là pour apprendre, donc.....

J'ai une première classe, "Numero_Telephone", il marche bien, il contient le numéro "compact"(sur neuf caractères), tout un tas de contrôles et d'accesseurs, bref, ça va.

J'ai une deuxième classe "Contact", tout con, avec nom, prénom et nickname.

Et j'ai une troisième classe, à qui je souhaite associer un Contact(ça marche) et une liste de numéros de téléphones. Ca donne ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Public Class Contact_Complet
    Private _contact As Contact
    Private _liste_Numeros As New ArrayList
.....
    Sub New(ByVal contact As Contact)
        Me._contact = contact
    End Sub
.....
   Public WriteOnly Property ajout_Numero_Telephone() As Numero_Telephone
        Set(ByVal numero_A_Ajouter As Numero_Telephone)
            If Me._liste_Numeros.Contains(numero_A_Ajouter) Then
                Throw New Exception("Le numéro de telephone " & numero_A_Ajouter.Numero_Etendu & " est déjà renseigné")
            End If
            MsgBox("ajout numero " & numero_A_Ajouter.Numero_Compact & "/" & _liste_Numeros.Count)
        End Set
    End Property
......
    Public ReadOnly Property nombre_Numeros() As Integer
        Get
            Try
                Return _liste_Numeros.Count
            Catch ex As Exception
                Return 0
            End Try
        End Get
    End Property
Mon ajout de numéros de téléphone marche bien, en mode pas-à-pas, il met met bien que le count de ma Arraylist "_liste_Numeros" est à 1. Seulement, ça se perd dès que je retourne dans ma sub appelante. Dès que, par exemple, j'essaye de compter le nombre de numéros dans ma liste, il me sort zéro, si j'essaye de lister les numéros de téléphone, il me sort "", etc.....

Je ne vois pas de raison pour cela, j'imagine que j'aborde le sujet avec une philosophie erronée. je bute depuis hier. Help please