Это имеет смысл для меня.
В частности, вы можете добавить только достаточной логики в Main
для анализа аргументов командной строки - возможно, с использованием обобщенного анализатора аргументов - и затем передать эти параметры в конструктор в сильно типизированный способ, подходящий для рассматриваемой программы.
Альбин спросил, почему это будет необходимо. Одним словом: тестируемость. В некоторых случаях вполне возможно хотя бы проверить некоторые аспекты программы верхнего уровня с помощью модульных тестов или, возможно, интеграционных тестов. Использование полей экземпляров вместо статических полей (и т. Д.) Улучшает тестируемость, так как вам не нужно беспокоиться о том, что предыдущие тесты запутывали состояние.