我遇到了一些麻煩,我寫了一個Func
,IDE不喜歡我在Func體內調用Func
,我不太明白爲什麼因爲如果我將相同的返回類型和參數參數放在方法體中,那麼它就可以工作。在函數體內調用Func
下面的代碼:
Func<XElement, TreeNode[]> arrayDel = new Func<XElement,TreeNode[]>(a =>
{
List<TreeNode> nodes = new List<TreeNode>();
foreach (XElement item in a.Elements())
{
if (item.HasElements)
{
nodes.Add(new TreeNode(item.Name.ToString(), arrayDel(item))); }
else
{
nodes.Add(new TreeNode(item.Name.ToString())); }
}
return nodes.ToArray();
你發佈的代碼適合我,看起來好像 – Cynede
@Heather然後你可能把'arrayDel'作爲類的靜態/實例字段。即使在任何明確的初始化程序運行之前,這些都始終被初始化。如果你把它變成局部變量,它將不起作用。 – hvd
@ hvd我看到了,明白了。 – Cynede