По договоренности
Нужен класс либо функция для C#, реализующий загрузку файла в асинхронном режиме, принимающий 3 параметра:
string url ссылка на файл.
string path путь, куда этот файл сохранить.
Должны присутствовать ивенты завершения загрузки файла и процесса загрузки файла, для отображения прогресса загрузки и выполнения соответствующий действий по окончанию загрузки.
Должна присутствовать докачка файла. Если загружаемый файл существует по указанному локальному пути, размер файла должен передаться в заголовок Range, и файл должен не перезаписываться, а дописываться. При этом загрузка файла должна осуществляться из Stream потока, чтобы при обрыве соединения или аварийном выключении программы/пк, файл был записан на столько, сколько было загружено на момент завершения.