写在C#控制台:可你是单身的WriteLine多种颜色,或锁定控制台做多写?(Writing to

2019-10-18 15:42发布

我想提出一个字符串与一个以上的颜色到控制台,并使它执行,就好像它是一个单一的WriteLine,而不是可能得到中断,或者被其他线程在同一时间书写损坏多次写入。

所以下面的后看上去就像是朝着正确的方向,但我不控制所有被写入到控制台的代码。 我的代码仅限于我创作的dll,所以我不能只是去把锁无处不可能干扰。 如果是锁和线程的理解的问题就没有问题。 这甚至可能没有我的密码锁?

如何锁定在C#.NET在线程控制台?

Answer 1:

用自己的使用一个TextWriter取代现有的输出流Console.SetOut 。 在您的自定义文本编写有它的一些对象上同步访问控制台,然后写回真正的标准输出,以及提供的辅助方法,某些方法,你必须也能够是同一个对象同步,那每当helper方法运行它可以锁定访问控制台应用程序的其他方式。



文章来源: Writing to console in c#: can you single writeline with multiple colors, or lock the console to do multiple writes?