如何使用 Language-Ext 将任务转换为 Task<Unit>

stb*_*stb 4 c# language-ext

将任务与https://github.com/louthy/language-ext绑定在一起需要返回类型为 ( ) 的任务Task<>。因此,没有返回类型的任务应转换为Task<Unit>.

有谁知道在 C# 中使用(或不使用)Language-ExtTask进行转换的紧凑(仅表达式)方法?Task<Unit>

换句话说:有类似fun(...)for 的东西Task吗?

lou*_*ter 5

我现在无法对此进行测试,但它应该可以满足您的要求。

public static class TaskExtensions
{
    public static async Task<Unit> ToUnit(this Task task)
    {
        await task;
        return unit;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后调用:

task.ToUnit();
Run Code Online (Sandbox Code Playgroud)

关于您的非类型化任务。我可能会在某个时候将其添加到 lang-ext 中。