c# - 如何从非控制台应用程序项目写入控制台

标签 c# console

我有一个 sln,其中一个控制台应用程序是解决方案的启动器。

如何从库项目登录到控制台?

(我的意思是 dll 项目可能不允许这样做,

因为它并不总是由控制台应用程序运行。有时通过其他框架,不是吗?)

最佳答案

从技术上讲,任何代码都可以使用 System.Console 类写入控制台。但是,出于多种原因,图书馆这样做并不是好的形式,包括:

  • 写入控制台的成本相对较高,因为同步需要进程范围的锁
  • 从库写入控制台可能会惹恼任何从控制台应用程序使用该库的人。这可能会使库成为一种障碍,以至于不会在这种情况下使用

相反,您通常会使用日志抽象,例如 System.Diagnostics.TraceSwitch 或日志库(如 log4net)提供的日志抽象。 .然后,您可以配置应用程序以将日志记录语句重定向到控制台、另一个文件、数据库或您真正喜欢的任何内容。

关于c# - 如何从非控制台应用程序项目写入控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9863955/

相关文章:

c# - 论坛的 LINQ 查询

c# - 如何允许用户在 C# 中重试或退出控制台程序?

console - 是否可以查看以前 iTerm2 session 的日志或历史记录?

c# - 数据注释从数据库中获取错误消息

c# - SQL Server 数据库不更新 C#

c# - 查找 Office 应用程序的现有实例

c# - 在 WPF ListBox 中隐藏空组

c++ - 文件的新 C++ 错误

java - 从 Windows 命令提示符中断 JAVA 程序

kotlin - 如何使用kotlin在控制台的x,y坐标中打印字符?