TaskCompletionSourcetcs = new TaskCompletionSource (); Task.Run(() => { // do some work int result = ... tcs.SetResult(result); }).FailTaskIfErrored(tcs); return tcs.Task;
TaskCompletionSourceThis code creates a new TaskCompletionSource and runs a task that throws an exception. The FailTaskIfErrored method is called on the task, passing in the tcs object as a parameter. The tcs task will be failed with the same exception as the original task. Package library: This method is not part of the .NET Framework or C# language itself, but is likely part of a third-party library or extension method. Without more context it is impossible to determine the package library.tcs = new TaskCompletionSource (); Task.Run(() => { throw new Exception("something went wrong"); }).FailTaskIfErrored(tcs); return tcs.Task;