Appel récursif renvoyer une liste, le type de retour me causant des problèmes

J'ai une méthode récursive qui est de retour m'catégories, et la vérification de ses sous-catégories.

De sorte qu'il ressemble:

public List<Category> GetAllChildCats(int categoryid)
{
      List<Category> list = new List>Category>();

      Category c = Get(categoryid);

      foreach(Category cat in c.ChildCategories)
      {
              list.Add( GetAllChildCats(cat.CategoryID) )

      }

}

Cela échoue, car l'appel à la liste.ajouter prévoit une Catégorie d'objet, mais il est de retour encore une autre Liste, comment dois-je contourner cela?

source d'informationauteur mrblah