public bool Initialize(DirectoryInfo directory, Random r, out string reason) { try { string path = Path.Combine(directory.FullName, "races"); DirectoryInfo di = new DirectoryInfo(path); if (!di.Exists) { //If it don't exist, create one so users can add races di.Create(); } foreach (FileInfo fi in di.GetFiles("*.xml")) { Race race = new Race(); if (!race.Initialize(fi, r, out reason)) { return false; } Races.Add(race); } reason = null; return true; } catch (Exception e) { reason = e.Message; return false; } }