我有一行代码是用MoreLinq写的:
var maxPage = _pageState?.Value?.Pages?.MaxBy(p => p.Type.Grids["desktop"].ColCount)?.FirstOrDefault();
因为我的解决方案同时使用了MoreLinq和Linq,所以我得到了以下错误:
以下方法或属性之间的调用不明确:"更多链接.更多可枚举.可区分依据〈TSource,TKey〉(系统.集合.通用.可枚举,系统.函数〈TSource,TKey〉)"和"系统.链接.可枚举.可区分依据〈TSource,TKey〉(系统.集合.通用.可枚举,系统.函数〈TSource,TKey〉)"
我已尝试将以下静态扩展添加到我的文档:MoreLinq.Extensions.AppendExtension
,但这会在行尾错误输出FirstOrDefault()
,错误如下:
"MyClass"不包含"FirstOrDefault"的定义,并且找不到接受"MyClass"类型的第一个参数的可访问扩展方法"FirstOrDefault"(是否缺少using指令或程序集引用?)
我也尝试过删除morelinq,但我得到的相同不包含defition的firstordefault错误。
解决这个问题的最佳方法是什么?
1条答案
按热度按时间tv6aics11#
NET 6中引入了
MaxBy
和DistinctBy
方法,如果您使用MoreLinq
,则会导致上述问题。如果您不需要任何MoreLinq
方法,只需将其删除或替换为using System.Linq;
(如果您不使用全局/隐式用法)。如果你仍然需要这两个,你可以使用在before和after命名空间上分割导入的技巧(尽管它可能有点深奥):
或者只对需要的方法使用静态导入(见@github):