Я хочу сделать ожидаемый возврат из функции
Я уже пытался использовать GetAwaiter (). GetResult ()
Также я попытался переместить возврат из функции выше и ниже недостижимого кода. В случае понижения я просто получаю результат после всех вычислений. В случае более высокого кода код помечается как недостижимый и не работает.
public async Task<Guid?> Start(IServiceProvider serviceProvider, FileDTO[] files, Guid? guidOfCurrentService)
{
var serviceRepository = serviceProvider.GetService<IServiceRepository>();
if (!serviceRepository.CheckService(guidOfCurrentService))
{
if (guidOfCurrentService == null)
{
guidOfCurrentService = Guid.NewGuid();
}
var service = serviceProvider.GetService<ICompressingService>();
serviceRepository.StartService(guidOfCurrentService);
_serviceResolver.Add(guidOfCurrentService, service);
return _serviceResolver.FirstOrDefault(x => x.Value == service).Key;
try
{
await Task.Run(() => service.CompressFiles(files));
}
catch
{
serviceRepository.EndService(guidOfCurrentService);
return null;
}
serviceRepository.EndService(guidOfCurrentService);
}
else
{
return null;
}
}
как я могу получить ожидаемый возврат от этой функции:
_serviceResolver.FirstOrDefault (x => x.Value == service) .Key;
и продолжать делать try / catch и т. д. функциональными? спасибо