Bonjour,

Je fais un petit projet de gestion (très simple) de CDThèque, histoire de me familiariser avec l'objet, que je ne maîtrise pas.

Je me heurte à un petit problème d'objet tout bête...Mais comme je manque d'expérience, je fais appel aux spécialistes.

J'ai créé une classe "Song", qui contient les propriétés et méthodes liées à une chanson :

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
 
private int _songId = "";
private string _songName = "";        
//...
 
public int ID
{
   get { return songId ; }
   set { songId  = value; }
}
public string Name
{
   get { return _songName ; }
   set { _songName  = value; }
}
//...
 
//Constructeur
public Song()
{
}
J'ai aussi créé une classe album, qui contient les propriétés et méthodes liées à un album :

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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 
private int _albumId = "";
private string _albumName = "";  
private Song[] _albumSongs;      
//...
 
public int ID
{
   get { return _albumId ; }
   set { _albumId = value; }
}
public string Name
{
   get { return _albumName ; }
   set { _albumName = value; }
}
public Song[] Songs
{
   get { return _albumSongs; }
   set { _albumSongs= value; }
}
//...
 
//Constructeur
public Album()
{
}
public Album(int aId,string name)
{
      this.ID=aId;      
      this.Name=name;
      GetSongs();      
}
public void GetSongs()
{
      //Ici :
      //Requête qui ramène toutes les chansons de l'album dont l'id est : aId
      //Je mets le résultat de la requête dans une Hashtable lstSongs
     for (int i=0;i<lstSongs.Count;i=i+2)
     {
           this.Songs[i] = new Song();
           this.Songs[i].ID = lstSongs[i];
           this.Songs[i].Name = lstSongs[i +1];
     }
}
Mais je me fais jeter sur la ligne :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
  this.Songs[i] = new Song();
Avec une erreur du type "La référence d'objet n'est pas définie à une instance d'objet."

Voilà donc le problème.
Je souhaite avoir un constructeur, qui à partir de l'ID de l'album, me charge dans mon objet Album la liste des chansons.
Encore une fois, je ne suis pas à la recherche de la solution pour constituer un outil de gestion de CDThèque idéal, je me sers simplement de cet exemple pour combler mes -grosses!- lacunes en conception objet. Ce qui m'intéresse donc ici, c'est comment faire pour renseigner une "collection" avec des objets en somme...

Merci d'avance pour tout conseil.