Why does Console.Out.WriteLine exist?
Solution 1
Console.WriteLine
is a static method. Console.Out
is a static object that can get passed as a parameter to any method that takes a TextWriter
, and that method could call the non-static member method WriteLine
.
An example where this would be useful is some sort of customizable logging routines, where you might want to send the output to stdout
(Console.Out
), stderr
(Console.Error
) or nowhere (System.IO.TextWriter.Null
), or anything else based on some runtime condition.
Solution 2
Brad Abrams (The founding member of both CLR and .NET framework at Microsoft) says the following.
Console.WriteLine() is simply a shortcut for Console.Out.WriteLine. Console was overloaded by WriteLine propery to make that much easier to write.
Source: Book "The C# Programming Language by Anders Hejlsberg".
vishwas kumar
Bad programming is easy. Idiots can learn it in 21 days, even if they are dummies. --Teach Yourself Programming In Ten Years
Updated on June 05, 2022Comments
-
vishwas kumar about 2 years
Actually the question should be why does
Console.WriteLine
exist just to be a wrapper forConsole.Out.WriteLine
I found this little method using intellisense, then opened .NET reflector and 'decompiled' the code for the
Console.WriteLine
method and found this:public static void WriteLine(string value) { Out.WriteLine(value); }
So why is
WriteLine
implemented this way? Is it totally just a shortcut or is there another reason?