Veuillez consulter l'extrait de code suivant. J'obtiens une exception de type nullreferenceexception à "this.directories.Add(new directory(s)) ;". La récursion semble fonctionner jusqu'à ce qu'elle se déroule, et à ce moment-là, "new directory(s)" semble être un null. Je ne sais pas trop pourquoi il se comporte ainsi, je pensais qu'il y avait peut-être des règles spéciales parce que la récursion est dans le constructeur. Merci de m'aider.
namespace AnalyzeDir
{
class directory
{
public string[] files;
public ArrayList directories;
public string mypath;
public string myname;
public directory(string mp)
{
mypath = mp;
myname = mypath.Substring(mypath.LastIndexOf("\\"));
files = Directory.GetFiles(mypath);
fillDirectoriesRescursive();
}
public void fillDirectoriesRescursive()
{
string[] dirpaths = Directory.GetDirectories(mypath);
if (dirpaths != null && (dirpaths.Length > 0))
{
foreach(string s in dirpaths)
{
this.directories.Add(new directory(s));
}
}
}