gpt4 book ai didi

c# - 我们可以在 MapResult C# 中使用 void 方法吗

转载 作者:行者123 更新时间:2023-12-03 23:17:07 27 4
gpt4 key购买 nike

我试图在控制台应用程序的 Main() 方法中使用带有 MapResult 方法的 void 方法。以下是我的代码,Class1、Class2 和 Class3 继承了 AbstractClass 并实现了它的 Execute() 方法:

Parser.Default.ParseArguments<
Class1,
Class2,
Class3>(command.Split(' '))
.MapResult((AbstractClass o) => o.Execute(), err => null);

在上面的代码中,我的 Execute() 方法返回 void。我收到以下错误:

The type arguments for method 'ParserResultExtensions.MapResult(ParserResult, Func, Func, TResult>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.



但是,如果我将 Execute() 方法的返回类型更改为 int,它可以正常工作。

请建议我一些解决方案来使用 MapResult 的 void 返回方法。

最佳答案

假设您使用的是 CommandLineParser ( https://github.com/commandlineparser/commandline ),MapResult 要求您提供指示成功/失败的返回值。尝试这个:

.MapResult((AbstractClass o) => {o.Execute(); return 1;}, err => null);

关于c# - 我们可以在 MapResult C# 中使用 void 方法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48719708/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com