Foreach无法在方法组上运行

pet*_*ski 8 asp.net treeview foreach

private void PrintRecursive(TreeNode treeNode)
    {
        foreach (TreeNode tn in treeNode.Nodes)
        {
            PrintRecursive(tn);
        }
    }
Run Code Online (Sandbox Code Playgroud)

我收到错误:Foreach无法对方法组进行操作.你打算调用'方法组'吗?

Nik*_*tev 12

这里的问题是,这Nodes是一个方法,但你用作属性:)所以这行代码

foreach (TreeNode tn in treeNode.Nodes)
Run Code Online (Sandbox Code Playgroud)

应该

foreach (TreeNode tn in treeNode.Nodes())
Run Code Online (Sandbox Code Playgroud)


Jam*_*son 6

假设你正在使用打包的TreeView控件,不应该是ChildNodes吗?:

foreach (TreeNode node in treeNode.ChildNodes) ...
Run Code Online (Sandbox Code Playgroud)