Почему перехват AggregateException вызывает предупреждение CA2000? - PullRequest
0 голосов
/ 26 сентября 2018

Приведенный ниже код вызывает предупреждение анализа кода CA2000, в котором утверждается, что мне нужно избавиться от getRequest по всем путям кода, прежде чем он выйдет из области видимости.Незначительная настройка кода, например удаление when из catch, устраняет предупреждение.

try
{
    using (var getRequest = new HttpRequestMessage(HttpMethod.Get, uri))
    {
        using (var result = client.SendAsync(getRequest).Result)
        {
        }
    }
}
catch (AggregateException exc) when (exc.InnerExceptions.Count >= 0)
{
}

На каком пути кода утилизируется, не вызывается, и почему перехват / когда влияет на вещи?

Примечание. Я использую встроенный в VS2015 анализ кода.CA2000 входит в набор правил управляемого бинарного анализа и (для меня) по умолчанию не проверяется для новых решений.(VS2017 также выдает те же предупреждения)

...