[VB.NET] Utilisation des collections [Résolu]

Utilisation des collections [Résolu] [VB.NET] - VB/VBA/VBS - Programmation

Marsh Posté le 24-12-2011 à 10:52:57    

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 :
  1. Public Class Classe1
  2.     Private _Classe1Nom As String
  3.     Private _ListeClasse2 as Collection
  4.     Sub New()
  5.         Dim _ListeClasse2 As New List(Of Classe2)
  6.     End Sub
  7.     Sub New(ByVal Nom As String)
  8.         _Classe1Nom = Nom
  9.         Dim _ListeClasse2 As New List(Of Classe2)
  10.     End Sub
  11. #Region "Propriétés"
  12.     Public Property Nom() As String
  13.         Get
  14.             Return _Classe1Nom
  15.         End Get
  16.         Set(ByVal value As String)
  17.             _Classe1Nom = value
  18.         End Set
  19.     End Property
  20.     Public Property ListeClasse2() As Collection
  21.         Get
  22.             Return _ListeClasse2
  23.         End Get
  24.         Set(ByVal value As Collection)
  25.             _ListeClasse2=value
  26.         End Set
  27.     End Property
  28. #End Region
  29. End Class


J'ai créé une seconde classe Classe2, qui doit être utilisée pour remplir la propriété ListeClasse2 de Classe1

Code :
  1. Public Class Classe2
  2.     Private _Classe2Nom As String
  3.     Sub New()
  4.     End Sub
  5.     Public Property Nom As String
  6.         Get
  7.             Return _Classe2Nom
  8.         End Get
  9.         Set(ByVal value As String)
  10.             _Classe2Nom = value
  11.         End Set
  12.     End Property
  13. 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 :
  1. Dim Class1 as New Classe1
  2. Class1.Nom="Test"
  3. Dim Class2 as New Classe2
  4. Class2.Nom="Test Classe2"
  5. Class1.ListeClasse2.add(Class2)


Pouvez-vous m'éclairer?
 
Merci


Message édité par astik89 le 25-12-2011 à 20:10:21
Reply

Marsh Posté le 24-12-2011 à 10:52:57   

Reply

Marsh Posté le 25-12-2011 à 15:43:32    

Personne??

Reply

Marsh Posté le 25-12-2011 à 20:09:08    

J'ai finalement réussi à résoudre mon problème.
 

Code :
  1. Public Class Classe1
  2.     Private _Classe1Nom As String
  3.     Private _ListeClasse2 as Collection New List(Of Classe2)
  4. ...
  5. #Region "Propriétés"
  6. ...
  7.     Public Property ListeClasse2() As Collection List(Of Classe2)
  8.         Get
  9.             Return _ListeClasse2
  10.         End Get
  11.         Set(ByVal value As Collection List(Of Classe2))
  12.             _ListeClasse2=value
  13.         End Set
  14.     End Property
  15. #End Region
  16. End Class


Message édité par astik89 le 25-12-2011 à 20:09:57
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed