Пожалуйста, помогите мне понять это. У меня есть этот код:C# Странная последовательность выполнения
if (Entries == null)
{
ExecuteAsync(Report);
}
if (Entries == null)
{
RaisError("No entries!");
return;
}
Моя проблема заключается в том, что выполнение начинается с первого, если находит это верно, выполняет блок кода и выходит с записей по-прежнему равна нулю, и, следовательно, выполняет второй блок кода. Это ExecuteAsync и отчет метода:
public async void ExecuteAsync(Action executeAction, Action callbackAction = null)
{
try
{
await Task.Run(executeAction);
if (callbackAction != null)
await Task.Run(callbackAction);
}
catch (Exception exception)
{
ModernDialog.ShowMessage(exception.Message, "Error", MessageBoxButtonOk);
}
}
private void Report()
{
Entries = DataAccessLayer.BrandReport(SelectedBrand, SelectedModel, FromDate, ToDate).ToList();
TotalAmount = Entries.Sum(a => a.Amount);
TotalQuantity = Entries.Sum(q => q.Quantity);
}
Хотя я звоню .ToList, я до сих пор получить нуль в записях !!!!
Идеальный смысл. Благодарю. –