Объяснить, как работает код с делегатами и лямбда-выражениями - C#

Узнай цену своей работы

Формулировка задачи:

Есть готовое решение, которое надо доработать под себя. Но не могу разобраться, как работает... Растолкуйте, плиз, начинающему программеру, как работает этот код:
Листинг программы
  1. public ICommand ShowWindowCommand
  2. {
  3. get
  4. {
  5. return new DelegateCommand
  6. {
  7. CanExecuteFunc = () => Application.Current.MainWindow == null,
  8. CommandAction = () =>
  9. {
  10. Application.Current.MainWindow = new MainWindow();
  11. Application.Current.MainWindow.Show();
  12. }
  13. };
  14. }
  15. }
  16. public class DelegateCommand : ICommand
  17. {
  18. public Action CommandAction { get; set; }
  19. public Func<bool> CanExecuteFunc { get; set; }
  20. public void Execute(object parameter)
  21. {
  22. CommandAction();
  23. }
  24. public bool CanExecute(object parameter)
  25. {
  26. return CanExecuteFunc == null || CanExecuteFunc();
  27. }
  28. public event EventHandler CanExecuteChanged
  29. {
  30. add { CommandManager.RequerySuggested += value; }
  31. remove { CommandManager.RequerySuggested -= value; }
  32. }
  33. }

Решение задачи: «Объяснить, как работает код с делегатами и лямбда-выражениями»

textual
Листинг программы
  1. return Application.Current.MainWindow == null

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы