我在这里做错了什么?我该如何执行我的行动?
var recurse = new Action<IItem, Int32>((item, depth) =>
{
if (item.Items.Count() > 0) recurse(item, depth + 1); // red squiggly here
// ...
});
我在拨打recurse
说“方法,代表或事件预期”时会发出红色波浪形。
更新
我接受了Homam的回答。我只想为同一个添加/分享另一种语法......但是我觉得眼睛看起来更容易......
Action<IEnumerable<Item>> Recurse = null;
Recurse = item =>
{
if (item.Items != null) Recurse(item.Items);
// ...
};
答案 0 :(得分:54)
只需定义委托Action
并在递归调用之前为其指定null。
Action<IItem, Int32> recurse = null;
然后
recurse = new Action<IItem, Int32>((item, depth ) =>
{
if (item.Items.Count() > 0) recurse(item, depth + 1); // red squiggly here
// ...
});
祝你好运!