Je code suivant:question bizarre IEnumerable <T> collection
IEnumerable<TreeItem> rootTreeItems = BuildRootTreeItems();
BuildTreeView(rootTreeItems.ElementAt(0));
private static void BuildTreeView(TreeItem treeItem)
{
TreeItem subMenuTreeItem = new TreeItem();
subMenuTreeItem.Header = "1";
TreeItem subMenuTreeItem2 = new TreeItem();
subMenuTreeItem.Header = "2";
treeItem.TreeItems.Add(subMenuTreeItem);
treeItem.TreeItems.Add(subMenuTreeItem2);
}
La chose étrange est après le retour de BuildTreeView, le premier élément de rootTreeItems ne pas avoir de nœuds enfants, alors qu'il a vraiment lors du débogage dans la méthode BuildTreeView.
Ce problème m'a vraiment embrouillé pendant longtemps, quelqu'un a une idée? Merci beaucoup.
Est-ce que 'BuildRootTreeItems' renvoie une expression LINQ? – Gabe
en utilisant yield return pour renvoyer l'élément de l'arbre, mais en utilisant un paramètre qui est également IEnumerable type –
Oui, 'yield return' provoquera également ce problème. – Gabe