Kre*_*dns 27 .net c# windows reflector console-application
实际上问题应该是为什么Console.WriteLine只是为了成为一个包装Console.Out.WriteLine
我发现这个小方法使用intellisense,然后打开.NET反射器和'反编译' Console.WriteLine方法的代码,发现这个:
public static void WriteLine(string value)
{
Out.WriteLine(value);
}
Run Code Online (Sandbox Code Playgroud)
那么为什么这样WriteLine实现呢?它完全只是一条捷径还是有另一个原因?
Sam*_*ell 53
Console.WriteLine是一种静态方法.Console.Out是一个静态对象,可以作为参数传递给任何采用a的方法,TextWriter该方法可以调用非静态成员方法WriteLine.
这将是有用的一个示例是某种可自定义的日志记录例程,您可能希望将输出发送到stdout(Console.Out),stderr(Console.Error)或nowhere(System.IO.TextWriter.Null),或基于某些运行时条件的任何其他内容.
小智 11
Brad Abrams(微软CLR和.NET框架的创始成员)表示如下.
Console.WriteLine()只是Console.Out.WriteLine的快捷方式. WriteLine使得控制台超载,使编写起来更容易.
资料来源:预订"Anders Hejlsberg的C#编程语言".
| 归档时间: |
|
| 查看次数: |
9246 次 |
| 最近记录: |