Я хочу выпустить серию команд, но только если предыдущая команда была выполнена успешно. Прямо сейчас я поднимаю событие в объекте команды, указывающее, была ли команда успешной или неудачной. Я использую это, чтобы контролировать выполнение, но это чувствует себя не изящным.
Пример:
command1.CommandSucceeded += delegate { command2.Execute(); };
command1.Execute();
Это работает, но кажется неуклюжим и не интуитивным. Я мог бы передать логическое значение на Execute (), указывающее успех или неудачу, но это по тому же пути. Я мог бы генерировать исключения при сбое, что могло бы привести к более чистому коду, но могло бы быть чрезмерным.
Есть предложения?