klocwork错误-调用函数'GetTokenResponseAsync'可能为null,并且将被取消引用

时间:2018-10-29 08:30:23

标签: c# klocwork

我遇到Klocwork错误,

  

在第101行从对函数'GetTokenResponseAsync'的调用返回的引用'this.GetTokenResponseAsync(cancellationToken)'可能为null,并在第101行被取消引用

这是代码

public async Task<SecurityToken> AcquireTokenAsync(CancellationToken cancellationToken)
    {
        cancellationToken.ThrowIfCancellationRequested();

        var tokenResponse = await GetTokenResponseAsync(cancellationToken).ConfigureAwait(false);

        return tokenResponse;
    }

这是否意味着tokenResponse可以为空?该如何解决?

1 个答案:

答案 0 :(得分:1)

通过将tokenResponse赋给0的行上方的行将await GetTokenResponseAsync(cancellationToken).ConfigureAwait(false)初始化为诸如T[K]之类的值,可以避免该错误。

由于已将其分配给一个似乎在异步线程上的值,因此不能保证它会一直保存该值。