这个问题与ReSharper有关。如果我有一个如下所示的界面:
public interface IOrder {
Task SetDeleted(Guid id);
}
Run Code Online (Sandbox Code Playgroud)
并且我的类继承自该接口,我希望 ReSharper 在选择“实现缺失成员”时生成以下代码:
public class OrderService {
public async Task SetDeleted(Guid id) {
throw new NotImplementedException();
}
}
Run Code Online (Sandbox Code Playgroud)
然而,它完全忽略了async方法的一部分,所以我每次都必须手动输入。此问题已在 ReSharper 2016.3 中修复,如此处所述(底部)。
但是,它不适用于CTRL+.键绑定(或其他任何键绑定),如下所示:
是否有可能以某种方式改变这种行为在 ReSharper 中的工作方式?我希望所有生成的Task方法都是async自动的。ReSharper 的“Members Generation”中没有任何选项可以让我执行此操作。
如果类只有一个缺失成员,ReSharper 不会显示对话框,因此您无法调整生成选项。但是您可以在界面中再添加一个成员并调用生成操作,这次 ReSharper 将显示一个对话框,您可以在其中设置选项“使任务返回方法‘异步’”。此生成选项是持久的,即它的最后一个值将存储在 ReSharper 设置中并默认使用。