Returning null from a non-async Task/Task<T> method will cause a
NullReferenceException at runtime. This problem can be avoided by returning Task.FromResult<T>(null) instead.
public Task<object> GetFooAsync()
{
return null; // Noncompliant
}
public Task<object> GetFooAsync()
{
return Task.FromResult<object>(null);
}