可以从类库C#中输出到控制台吗?

时间:2009-08-17 14:35:01

标签: c# console

是否可以从类库中将值输出到控制台?

例如

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

是否可以在程序集的函数中编写console.out方法?

我知道在web中可以获取httpcontext,并执行response.write。

5 个答案:

答案 0 :(得分:16)

是的,Console.WriteLine等在类库中可以正常工作......但是不能保证任何东西正在监听到控制台。如果您从WinForms应用程序或Web应用程序中使用它,那么输出可能绝对无处...

您是否考虑过使用log4net之类的日志库?

答案 1 :(得分:4)

这取决于将使用您的类库的应用程序类型。如果在控制台应用程序中使用它,则输出将打印到控制台。如果是WinForms,Windows服务或ASP.NET应用程序,则输出将被忽略。

答案 2 :(得分:2)

确实如此,只需使用System.Console.Write...

答案 3 :(得分:2)

如果库客户端是控制台应用程序,请使用您的消息调用Console.WriteLine(“”)。

如果您没有基于控制台的客户端,并且想要打开一个供您自己使用的控制台,则需要使用P / Invoke来调用ConsoleAlloc。有关P / Invoke声明的一些帮助,请参阅here

话虽如此,我还必须指出从类库中写入控制台绝对是糟糕的设计,你应该考虑使用点网跟踪/日志记录机制(仔细阅读System.Diagnostics上的Microsoft文档)

答案 4 :(得分:1)

  1. 如果您的解决方案中有控制台应用程序项目,请照常使用Console.WriteLine()。
  2. 否则,如果您有类库项目,请使用System.Diagnostics.Debug.WriteLine()。
  3. 坏消息: - 您的文本将位于输出中的所有行的中间。 - 你必须搜索它们。我建议您选择输出中的所有文本并粘贴在记事本上。找到你要找的东西会更容易。

    好消息: - 你的文本将独自存在。只有您的命令System.Diagnostics.Debug.WriteLine()。

    的结果