public void TrySetResult(object result) { var method = taskCompletionSource.GetType().GetMethod("TrySetResult"); method.Invoke(taskCompletionSource, new[] { result }); }