加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 08:45:32 所属栏目:百科 来源:网络整理
导读:我有一个源自库(萨摩)的自定义类,如下所示: public class DCBaseNode : Node { public bool selected = false;} 和库中的Neighbors方法返回List Node.我希望能够这样做: graph.Neighbors(theNode).Any(n = n.selected == true); 但Any认为n是节点,而不是DC
我有一个源自库(萨摩)的自定义类,如下所示:
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);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读