【发布时间】:2019-02-14 07:15:09
【问题描述】:
我正在使用语言扩展学习 FP,但遇到了一个我无法克服的问题。我将代码简化为以下示例:
using System;
using System.Threading.Tasks;
using LanguageExt;
using static LanguageExt.Prelude;
using Xunit;
namespace Temp {
public class SelectManyError {
[Fact]
public async Task Do() {
var six = await from a in Task.FromResult(Right<Exception, int>(1))
from b in Task.FromResult(Right<Exception, int>(2))
from c in Task.FromResult(Right<Exception, int>(3))
select a + b + c;
}
}
}
我收到此错误:
为源类型
Task<Either<Exception, int>>找到了查询模式的多个实现。对“SelectMany”的模糊调用。
通过阅读this webpage,我了解编译器认为问题所在。但是,我显然遗漏或不理解一些重要的东西,因为我无法弄清楚这个错误是如何由这种情况引起的,或者如何处理它。如果它只有 2 个 from 子句,这将工作得很好,这让我更加困惑。
这是解决此类问题的错误方法吗?还有其他我不知道的方法吗?
【问题讨论】:
-
您使用的是什么版本的 Language Ext?
-
我使用的是 3.0.19 版本
-
> "我编辑了整个文件,现在是否给你同样的错误?"感谢您提供更详细的示例。是的,我现在遇到和你一样的错误。
标签: language-ext