C# – 错误CS1928:检查派生类的列表元素

我有一个源自库(萨摩)的自定义类,如下所示:
public class DCBaseNode : Node {
    public bool selected = false;
}

和库中的Neighbors方法返回List< Node>.我希望能够这样做:

graph.Neighbors(theNode).Any(n => n.selected == true);

但Any认为n是节点,而不是DCBaseNode,所以它不理解.selected.

所以我尝试过:

graph.Neighbors(theNode).Any<DCBaseNode>(n => n.selected == true);

…这给了我这个错误

Error CS1928: Type System.Collections.Generic.List<Satsuma.Node>' does not contain a memberAny’ and the best extension method overload `System.Linq.Enumerable.Any(this System.Collections.Generic.IEnumerable,System.Func)’ has some invalid arguments

……但我不清楚论证是如何无效的.

解决方法

听起来你需要垂头丧气……
graph.Neighbors(theNode)
    .OfType<DCBaseNode>()
    .Any(n => n.selected);

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...