可以从类库C#中输出到控制台吗?
是否可以从类库中将值输出到控制台?
例如
Console App -> calls method in -> assembly > function
是否可以在程序集的函数中编写console.out方法?
我知道在web中可以获取httpcontext,并做一个response.write。
是的, Console.WriteLine
等在类库中可以正常工作……但是不能保证任何东西都在监听控制台。 如果您从WinForms应用程序或Web应用程序中使用它,那么输出可能绝对无处可寻……
您是否考虑过使用log4net等日志库?
这取决于将使用您的类库的应用程序类型。 如果在控制台应用程序中使用它,则输出将打印到控制台。 如果是WinForms,Windows服务或ASP.NET应用程序,则将忽略输出。
当然可以,只需使用System.Console.Write...
当然,如果库客户端是控制台应用程序,只需使用您的消息调用Console.WriteLine(“”)。
如果您没有基于控制台的客户端,并且您想要打开一个供您自己使用的控制台,那么您需要使用P / Invoke来调用ConsoleAlloc 。 请参阅此处以获取P / Invoke声明的一些帮助。
话虽如此,我还必须指出从类库中写入控制台绝对是糟糕的设计,你应该考虑使用点网跟踪/日志记录机制(仔细阅读System.Diagnostics上的Microsoft文档)
- 如果解决方案中有控制台应用程序项目,请像往常一样使用Console.WriteLine()。
- 否则,如果您有类库项目,请使用System.Diagnostics.Debug.WriteLine()。
坏消息: – 您的文本将位于输出中的所有行的中间。 – 你必须搜索它们。 我建议您选择输出中的所有文本并粘贴在记事本上。 找到你想要的东西会更容易。
好消息: – 你的文本将独自存在。 只有您的命令System.Diagnostics.Debug.WriteLine()的结果。