实际上问题应该是为什么 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/