Почему я получаю предупреждение «Доступ к удаленному закрытию» с этим кодом - PullRequest
0 голосов
/ 01 октября 2018

У меня есть следующий код (с использованием ImageSharp):

using (var I = Image.Load<Rgb24>(Picture))
{
    // calculate the hash
    var T = Task.Factory.StartNew(() => CalculateHash(I));
    var Hash = T.Result; <- I put this as a test

    ...
}

Я получаю предупреждение «Доступ к удаленному закрытию» с «I» в методе CalculateHash.

Этоупрощенная версия кода;в обычном коде я выполняю несколько разных процессов параллельно и жду их завершения.

В этом примере я явно жду результата задачи в контексте «using», поэтому закрытие должноне удаляется до завершения задания.

Почему я получаю это сообщение?

1 Ответ

0 голосов
/ 01 октября 2018

JetBrains предлагает некоторую помощь здесь: https://www.jetbrains.com/help/resharper/2018.2/AccessToDisposedClosure.html

Кажется, что явное ожидание результата задачи в контексте «использования» не имеет значения;Вы все еще могли бы держаться за пределы области действия «с помощью».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...