Если GetEinkauf
предполагается реализовать как асинхронный метод, вы должны изменить его тип возвращаемого значения на Task<ObservableCollection<Einkauf>>
, а также изменить его имя на GetEinkauf Async , чтобы следовать соглашению об именах для асинхронных методов:
public interface IDbConnection
{
Task<ObservableCollection<Einkauf>> GetEinkaufAsync();
}
public async Task<ObservableCollection<Einkauf>> GetEinkaufAsync()
{
var content = await _client.GetStringAsync(Url);
var einkauf = JsonConvert.DeserializeObject<List<Einkauf>>(content);
_einkauf = new ObservableCollection<Einkauf>(einkauf);
speisenListe.ItemsSource = _einkauf;
return _einkauf;
}
Затем вы можете await
метод из любого метода, помеченного как async
:
var collection = await GetEinkaufAsync();
Если другой класс реализует интерфейс IDbConnection
синхронно для некоторыхпричина, это могло бы использовать Task.FromResult
метод, чтобы возвратить Task<ObservableCollection<Einkauf>>
:
public class SomeOtherClass : IDbConnection
{
public Task<ObservableCollection<Einkauf>> GetEinkaufAsync()
{
return Task.FromResult(new ObservableCollection<Einkauf>());
}
}