我们如何在C#中安全使用out-await参数。
例如
async public void someMethod(){
await someOtherMethod (out string outputFromSomeOtherMethod);
.......
.....
}
答案 0 :(得分:3)
简而言之,您不会(也不能),我们使用return
另外,当您考虑它时,它没有任何意义,它会在喜欢时完成任务,如果可以的话,您将迫使它等待out参数
public async Task<SomeResult> someOtherMethod() { .. }
...
var myAwesomeResult = await someOtherMethod();
此外,您冷使用delegate
,func<T,U>
或Action<T>
作为参数
public async Task someOtherMethod(Action<bool> someResult)
{
await somestuff;
someResult(true);
}
...
await someOtherMethod(b => YayDoSomethingElse(b));
在Daniel A. White评论中,如果您需要轻松访问多种返回类型,则可以返回ValueTuple
public async Task<(int someValue,string someOtherValue)> someOtherMethod() {.. }