c# - 为什么 Console.Out.WriteLine 存在?

标签 c# .net windows console-application reflector

实际上问题应该是为什么 Console.WriteLine 的存在只是为了作为 Console.Out.WriteLine 的包装器

我使用智能感知发现了这个小方法,然后打开了.NET reflector并“反编译”Console.WriteLine 方法的代码,发现:

public static void WriteLine(string value)
{
    Out.WriteLine(value);
}

那么为什么 WriteLine 是这样实现的呢?这完全只是捷径还是另有原因?

最佳答案

Console.WriteLine 是一个静态方法。 Console.Out 是一个静态对象,可以作为参数传递给采用 TextWriter 的任何方法,并且该方法可以调用非静态成员方法 WriteLine.

一个有用的示例是某种可自定义的日志记录例程,您可能希望将输出发送到 stdout (Console.Out),stderr(Console.Error)或无处可寻(System.IO.TextWriter.Null),或基于某些运行时条件的任何其他内容。

关于c# - 为什么 Console.Out.WriteLine 存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1149131/

相关文章:

c# - 访问 Windows Media Player 播放速度控件

.net - 如果启用了 Windows FIPS 合规性策略,为什么不允许 .NET "Managed"加密类?

c - 迭代 PEB DllName 仅显示 exe 名称

c# - 需要从字符串拆分中将两个值放入数组中

c# - 如何使 TreeView 和 ListBox 的 SelectedItem 保持同步?

c# - 如何以编程方式将最小化的无模式 WinForm 带到其先前显示的位置?

windows - 在 Windows 设备管理器中以编程方式卸载设备

windows - 在 Inno Setup 中验证用户密码

c# - 我什么时候应该在事件聚合器上使用事件处理程序?

c# - Controller 上的 "CA2000 Dispose objects before losing scope"