diff --git a/src/JSInterop/Microsoft.JSInterop/src/Infrastructure/TaskGenericsUtil.cs b/src/JSInterop/Microsoft.JSInterop/src/Infrastructure/TaskGenericsUtil.cs index a03d87536db1..ee99390a5d89 100644 --- a/src/JSInterop/Microsoft.JSInterop/src/Infrastructure/TaskGenericsUtil.cs +++ b/src/JSInterop/Microsoft.JSInterop/src/Infrastructure/TaskGenericsUtil.cs @@ -89,7 +89,9 @@ public void SetResult(object tcs, object? result) // If necessary, attempt a cast var typedResult = result is T resultT ? resultT - : (T)Convert.ChangeType(result, typeof(T), CultureInfo.InvariantCulture)!; + : result == null && default(T) == null + ? default(T) + : (T)Convert.ChangeType(result, typeof(T), CultureInfo.InvariantCulture)!; typedTcs.SetResult(typedResult!); }