Serge Wazuki Serge Wazuki - 1 month ago 12
C# Question

How to hide output (not the window) in a console application?

Well, let me make it clear again. I have a console application with many classes, in each class there is at least one Console.WriteLine("text") line. I defined some arguments that when running the application, it output exactly what I wrote in classes. There, I want to define an argument that when I run the app with this argument, there will be no output on the console screen but the console window still appears. The argument maybe something like "-s". So is there any way I can do this without using the "if" condition in each class and passing an parameter through classes? Many thanks.

P/S: I've searched thru the internet and found out some articles related to this, but most of the answers were to hide the console window. I think this question should be what the others meant.

Answer

Use Console.SetOut (http://msdn.microsoft.com/en-us/library/system.console.setout.aspx) and pass in a "null" text writer. The idea on -s perform a Console.SetOut(new StreamWriter()).

The example for the Console.SetOut method will help you get started.

In addition, you can easily add logging using this method.

Comments