@AndNovak

Как работает метод GetData?

Разбираюсь с MVVM, а конкретно с Caliburn Micro. За основу взял пример . Хотел бы уточнить один момент.
В классе BookService, автор создает метод GetData
public void GetData(Action<BindableCollection<IBook>, Exception> callback)
    {
        callback(_books, null);
    }

И затем вызывает этот метод в ShellViewModel вот таким образом
public ShellViewModel(IBookService dataService)
    {
        _bookDataService = dataService;

        _bookDataService.GetData(
            (items, error) =>
            {
                Books = items;
            });
    }
 public BindableCollection<IBook> Books { get; set; }

На сколько я понимаю, данный метод производит загрузку данных в коллекцию Book, но как он это делает я не совсем понимаю. Подскажите, пожалуйста, как работает данный метод
  • Вопрос задан
  • 1043 просмотра
Решения вопроса 1
DarkRaven
@DarkRaven
разработка программного обеспечения
В данный метод пихается коллбэк, метод, который вернет данные.
Далее, GetData вызывает данный коллбэк, и передает в него данные в виде коллекции _books, которая сформирована где-то в недрах BookService.

Сам коллбэк представлен анонимной функцией, которая выполняет только то, что присваивает свойству Books класса ShellViewModel значение items, а по сути, все те же _books из BookService.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы