【问题标题】:Why does Console.Out.WriteLine exist?为什么 Console.Out.WriteLine 存在?
【发布时间】:2010-11-12 01:22:56
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# .net windows console-application reflector


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      Brad Abrams(微软 CLR 和 .NET 框架的创始成员)说如下。

      Console.WriteLine() 只是 Console.Out.WriteLine 的快捷方式WriteLine 属性对控制台进行了重载,以使其更易于编写

      来源:书籍“Anders Hejlsberg 的 C# 编程语言”。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-12-10
        • 2019-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多