Catrobat.IDE.Core.ViewModels.AsyncRelayCommand.Execute C# (CSharp) Method

Execute() public method

public Execute ( object parameter ) : void
parameter object
return void
        public void Execute(object parameter)
        {
            if (CanExecute(parameter))
            {
                Task.Run(async () =>
                {
                    if(_executeWithParameter != null)
                        await _executeWithParameter(parameter);

                    if (_execute != null)
                    {
                        try
                        {
                            await _execute();
                        }
                        catch (Exception exc)
                        {
                            if(Debugger.IsAttached)
                                Debugger.Break();
                        }
                    }
                    
                    _finished.Invoke();
                });
            }
        }