비동기가 아닌 "Task/Task<T>" 메서드는 null을 반환해서는 안 됩니다

반응형

비동기가 아닌 Task/Task<T> 메서드에서 null을 반환하면 런타임에 NullReferenceException이 발생합니다. 대신 Task.FromResult<T>(null)을 반환하면 이 문제를 피할 수 있습니다.

나쁜 예:

public Task<object> GetFooAsync()
{
    return null; // Noncompliant
}

좋은 예:

public Task<object> GetFooAsync()
{
    return Task.FromResult<object>(null);
}
반응형