Restsharp: ExecuteTaskAsync отмечен как устаревший

Созданный на 10 янв. 2020  ·  6Комментарии  ·  Источник: restsharp/RestSharp

Ожидаемое поведение

Методы помечаются как устаревшие, только если есть альтернатива для использования.

Фактическое поведение

Все асинхронные методы IRestClient были помечены как устаревшие (например, ExecuteTaskAsync, который возвращает Task>.

Это означает целую кучу предупреждений / ошибок во время компиляции (во всех наших проектах включены предупреждения как ошибки).

Единственный способ обойти это - либо подавить это конкретное предупреждение во время компиляции (нежелательно, так как затем не будет обнаружено другое использование устаревших методов), либо пройти и индивидуально подавить предупреждение для каждого использования этих методов (сотни строк изменения кода).

Я бы понял использование Obsolete здесь, если бы вместо этого был вызов другого альтернативного метода, но его нет! Я не уверен в значении, которое атрибут Obsolete предоставляет для этих методов ExecuteTaskAsync - насколько я могу судить, они не устарели, поскольку альтернативы для использования нет? Также бесполезно знать, что они будут переименованы - я все равно ничего не могу с этим поделать.

Шаги по воспроизведению проблемы

  1. Напишите код, используя IRestClient, вызовите ExecuteTaskAsync
  2. Обратите внимание, что предупреждения компиляции создаются

Характеристики

  • Версия: 106.10.0 (фиксация 620a0feec06d4b981364fb20fabcf53039d2b0d9)
  • Платформа:
  • Подсистема:

Самый полезный комментарий

Хорошо, сейчас я закончил работу над новыми методами.

Все 6 Комментарий

Я столкнулся с той же проблемой.

Я открыт для предложений. Именование плохое во-первых. ExecuteAsync должен был использоваться, но так оно и есть, метод ExecuteAsync теперь используется для сигнатуры метода, которая использует делегат обратного вызова и другие параметры, и этот метод будет удален.

Хорошо, это объясняет это немного больше.
Тогда мне просто придется пока игнорировать эти предупреждения.

Хорошо, я могу создать метод ExecuteAsync с той же подписью, что и ExecuteTaskAsync .

Я буду продолжать переходить к новым именам, пока подписи не пересекаются. Надеюсь, следующая версия будет лучше в этом отношении.

Хорошо, сейчас я закончил работу над новыми методами.

Спасибо за сортировку

Была ли эта страница полезной?
0 / 5 - 0 рейтинги