Лучший способ решить является этим: какой удовлетворяет ситуации лучше. Это могло бы походить на глупый или бесполезный ответ, но я не думаю, что необходимо расценить один или другой как "надлежащее" решение.
Мы можем бросить сто подсказок в Вас. События являются лучшими, когда наблюдатель, как ожидают, прислушается к случайным событиям. Интерфейс является лучшим, когда наблюдатель ожидается к перечисленному ко всему данному набору событий. События являются лучшими при контакте с приложениями для GUI. Интерфейсы используют меньше памяти (единственный указатель для нескольких событий). Yadda yadda yadda. Маркированный список за и против - что-то для размышления о, но не категорический ответ. То, что действительно необходимо сделать, попробовать их обоих в реальных приложениях и получить хорошее ощущение их. Затем можно выбрать тот, который удовлетворяет ситуации лучше. Изучите выполнение формы.
, Если необходимо использовать единственный вопрос об определении, затем спросите себя, которые лучше описывают Вашу ситуацию: Ряд свободно связанных событий, любое из которых может использоваться или игнорироваться, или ряд тесно связанных событий, которые должны будут все обычно обрабатываться одним наблюдателем. Но затем, я просто описываю модель событий и интерфейсную модель, таким образом, я вернулся в самое начало: какой удовлетворяет ситуации лучше?
For posterity:
CommandParser is another one with a BSD license
Мигель де Икаса в восторге от Mono.Options . Вы можете использовать пакет nuget или просто скопировать единственный исходный файл C # в свой проект.