Bonjour à tous,

Je "bricole" depuis quelque temps en VB.Net.
J'essaie de passer le cap de la programmation objet, mais je bute sur le point suivant.

J'ai créé une classe Classe1 avec ses propriétés
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
27
28
29
    Public Class Classe1
        Private _Classe1Nom As String
        Private _ListeClasse2 as Collection
        Sub New()
            Dim _ListeClasse2 As New List(Of Classe2)
        End Sub
        Sub New(ByVal Nom As String)
            _Classe1Nom = Nom
            Dim _ListeClasse2 As New List(Of Classe2)
        End Sub
    #Region "Propriétés"
        Public Property Nom() As String
            Get
                Return _Classe1Nom
            End Get
            Set(ByVal value As String)
                _Classe1Nom = value
            End Set
        End Property
        Public Property ListeClasse2() As Collection
            Get
                Return _ListeClasse2
            End Get
            Set(ByVal value As Collection)
                _ListeClasse2=value
            End Set
        End Property
    #End Region
    End Class

J'ai créé une seconde classe Classe2, qui doit être utilisée pour remplir la propriété ListeClasse2 de Classe1
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
    Public Class Classe2
        Private _Classe2Nom As String
        Sub New()
        End Sub
        Public Property Nom As String
            Get
                Return _Classe2Nom
            End Get
            Set(ByVal value As String)
                _Classe2Nom = value
            End Set
        End Property
    End Class

J'arrive à créer ma classe 1 et à définir sa propriété "Nom".
Mais je n'arrive pas à remplir la propriété ListeClasse2, il y a une erreur "System.NullReferenceException".

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    Dim Class1 as New Classe1
    Class1.Nom="Test"
    Dim Class2 as New Classe2
    Class2.Nom="Test Classe2"
    Class1.ListeClasse2.add(Class2)

Pouvez-vous m'éclairer?

Merci