我遇到了一些奇怪的行为,我觉得很烦人,无法找到它的来源。请考虑以下代码:
using System.Threading.Tasks;
class Program
{
public static Task DoAction(int i, int j, int k)
{
return null;
}
public static int GetParameterFromComplicatedProcedure()
{
return 0;
}
static async Task Main(string[] args)
{
return DoAction(GetParameterFromComplicatedProcedure(), GetParameterFromComplicatedProcedure(),
GetParameterFromComplicatedProcedure());
}
}
在主要方法中,呼叫被包装,但与'返回'保持在同一行。但是,如果我改变' return'为了等待',ReSharper格式如下:
await
DoAction(GetParameterFromComplicatedProcedure(), GetParameterFromComplicatedProcedure(),
GetParameterFromComplicatedProcedure());
为什么会发生这种情况,有没有办法改变它?
UPD 为了回应可能的重复:
问题不在于如何阻止ReSharper破坏线路。这是为什么有一个不同的处理等待'并且'返回'这些陈述似乎在标题中有明确说明,这是一件值得关注的好事。
关于'返回'之后立即断线的问题无论如何,关键字未正确回答。只有答案告诉我们如何删除换行,而不是如何更换换行的地方。
UPD2 我的ReSharper版本:10.0.2 Ultimate。所有设置均为默认值,但以 代码编辑 - > C# - >格式化样式 - >换行和换行 - >保持现有换行符= false。