![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
mur88 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 10.11.2007 Репутация: нет Всего: нет |
Подскажите, пожалуйста, как правильно организовать структуры консольного приложения с большим числом параметров в args. Так же некоторые из этих параметров могут комбинироваться друг с другом, а некоторые не.
Где можно почитать что нибудь по этому поводу. |
|||
|
||||
gambit |
|
|||
![]() Эксперт ![]() ![]() ![]() Награды: 1 Профиль Группа: Комодератор Сообщений: 1359 Регистрация: 25.6.2006 Где: я? Репутация: 5 Всего: 40 |
Что по этому поводу читать? Тебе приходит массив параметров, разбирая их, выставляешь флаги в программе, позже реагируешь поведением на эти флаги.
|
|||
|
||||
dzaraev |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 12.1.2013 Репутация: нет Всего: 1 |
Во-первых определите набор самих параметров приложения и заверните их в специально созданный для них класс, например "MySettings".
Во-вторых надо определить формат(синтаксис) параметров командной строки. Можно ориентироваться на целевую платформу и принятый там формат (в Win-системах один, в Unix другой), либо определить свой собственный. Обязательно выводить инфу об этом синтаксисе по запросу хэлпа (который может быть -?, /?, \?, -help и т.д.). В-третьих, в соответствии с этим определенным синтаксисом и классом MySettings, необходимо написать свой парсер, на вход метода "Parse" которого будут переданы параметры ком. строки (в виде массива или в виде одной строки), а на выходе, соответственно будет возвращаться инициализированный экземпляр класса MySettings. В дальнейшем, вы можете передавать ваш MySettings через какое-нибудь статическое свойство, чтобы получить доступ к нему из любого места программы. Также, рекомендую при запросе текущих настроек возвращать не сам MySettings, а создать интерфейс IMySettings, в котором все свойства, отвечающие за параметры ком. строки сделать доступными только для чтения (MySettings, естественно, должен реализовать IMySettings). Почитать не могу рекомендовать ничего, кроме гугла. Можете еще попробовать поискать какие-либо готовые решения вашей задачи (с готовым форматом, парсером или типа того), но чего-то конкретного опять-таки лично не пользовал и подсказать с ходу не могу. Это сообщение отредактировал(а) dzaraev - 16.7.2013, 20:54 --------------------
Если вопрос решён - помечайте тему. |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |