Возможный произвести к консоли из библиотеки классов C#?

Отключение утверждает в сборках конечных версий, похож на высказывание, "У меня никогда не будет проблем вообще в сборке конечных версий", которая часто является не случаем. Поэтому утверждайте, не должен быть отключен в сборке конечных версий. Но Вы не хотите катастрофический отказ сборки конечных версий каждый раз, когда ошибки происходят также, не так ли?

Так используют исключения и используют их хорошо. Используйте хорошую, твердую иерархию исключения и удостоверьтесь, чтобы Вы поймали, и можно поместить рычаг на исключение, добавляющее отладчик для ловли ее, и в режиме выпуска можно компенсировать ошибку, а не прямой катастрофический отказ. Это - более безопасный способ пойти.

7
задан JL. 17 August 2009 в 14:35
поделиться

4 ответа

Ага, Console.WriteLine и т. Д. Будут отлично работать в библиотеке классов ... но нет гарантии, что что-то слушает консоль . Если вы используете его из приложения WinForms или веб-приложения, этот вывод может никуда не пойти ...

Думали ли вы об использовании вместо этого библиотеки журналирования, такой как log4net ?

16
ответ дан 6 December 2019 в 07:07
поделиться

Конечно, просто используйте System.Console.Write ...

2
ответ дан 6 December 2019 в 07:07
поделиться

Конечно, если клиент библиотеки является консольным приложением, просто вызовите Console.WriteLine ("") со своими сообщениями.

Если у вас нет клиента на основе консоли, и вы хотите открыть Консоль для вашего собственного использования, тогда вам нужно использовать P / Invoke для вызова ConsoleAlloc . См. здесь , чтобы получить некоторую помощь с объявлением P / Invoke.

Сказав, что я также должен указать, что запись в консоль из библиотеки классов явно плохой дизайн, и вам следует рассмотреть возможность использования точечной сети вместо этого используется механизм трассировки / ведения журнала (см. документацию Microsoft по System.Diagnostics)

2
ответ дан 6 December 2019 в 07:07
поделиться

Это зависит от того, какой тип приложения будет использовать вашу библиотеку классов. Если он используется в консольном приложении, вывод будет выводиться на консоль. Если это приложение WinForms, Windows Service или ASP.NET, вывод будет проигнорирован.

4
ответ дан 6 December 2019 в 07:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: