Объяснить, как работает код с делегатами и лямбда-выражениями - C#
Формулировка задачи:
Есть готовое решение, которое надо доработать под себя. Но не могу разобраться, как работает...
Растолкуйте, плиз, начинающему программеру, как работает этот код:
public ICommand ShowWindowCommand { get { return new DelegateCommand { CanExecuteFunc = () => Application.Current.MainWindow == null, CommandAction = () => { Application.Current.MainWindow = new MainWindow(); Application.Current.MainWindow.Show(); } }; } } public class DelegateCommand : ICommand { public Action CommandAction { get; set; } public Func<bool> CanExecuteFunc { get; set; } public void Execute(object parameter) { CommandAction(); } public bool CanExecute(object parameter) { return CanExecuteFunc == null || CanExecuteFunc(); } public event EventHandler CanExecuteChanged { add { CommandManager.RequerySuggested += value; } remove { CommandManager.RequerySuggested -= value; } } }
Решение задачи: «Объяснить, как работает код с делегатами и лямбда-выражениями»
textual
Листинг программы
return Application.Current.MainWindow == null
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д