Можно выводить на консоль из библиотеки классов C#?

можно ли выводить значения на консоль из библиотеки классов?

 Console App -> calls method in -> assembly > function

можно ли написать консоль.метод out в функции сборки?

Я знаю, что в интернете можно получить httpcontext и сделать ответ.писать.

5 ответов


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

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


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


конечно, просто использовать System.Console.Write...


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

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

сказав, что я также должен указать, что запись на консоль из библиотеки классов-это определенно плохой дизайн, и вы должны вместо этого рассмотрите возможность использования механизма трассировки/ведения журнала dot net (ознакомьтесь с документацией Microsoft по системе.Диагностика)


  1. Если у вас есть проект консольного приложения в решении, используйте Console.Метода WriteLine(), как обычно.
  2. в противном случае, если у вас есть проект библиотеки классов, используйте System.Диагностика.Отлаживать.метод WriteLine.)(

плохие новости: - Ваши тексты будут в середине всех строк на выходе. - Вам придется их обыскать. Я рекомендую вам выбрать весь текст на выходе и вставить в блокнот. Будет легче найти то, что вы ищете для.

хорошие новости: - Твои сообщения будут одиноки в своих строках. Только результат вашей командной системы.Диагностика.Отлаживать.метод WriteLine.)(