【发布时间】:2011-11-16 18:46:23
【问题描述】:
好吧,让我再说一遍。我有一个包含许多类的控制台应用程序,每个类中至少有一个 Console.WriteLine("text") 行。我定义了一些参数,当运行应用程序时,它会准确地输出我在类中编写的内容。在那里,我想定义一个参数,当我使用此参数运行应用程序时,控制台屏幕上不会有输出,但控制台窗口仍会出现。参数可能类似于“-s”。那么有什么方法可以做到这一点,而无需在每个类中使用“if”条件并通过类传递参数?非常感谢。
P/S:我通过互联网搜索并找到了一些与此相关的文章,但大多数答案都是隐藏控制台窗口。我认为这个问题应该是其他人的意思。
【问题讨论】:
-
您可以在应用程序主函数中解析输入-s,然后将控制台输出重定向到文件,例如,不屏幕,使用控制台类方法
-
通常应该使用 Debug/Trace 来控制这种行为。
-
@Artur:实际上我不希望控制台输出到任何其他文件,我只想“隐藏”输出,但我仍然需要一些文本出现在控制台屏幕上,而不是隐藏所有。 AMisssico 的回答解决了我的这个问题,我只需要将输出流设置为 null TextWriter,然后随时设置回标准输出流。
-
@sajoshi:不太明白你的建议。在这种情况下调试/跟踪如何工作?
-
我不确定为什么要隐藏输出。我的理解是您正在输出信息,以便您有一些可用的跟踪信息。
标签: c# command-line console console-application command-line-arguments