ThreadSafeStringWriter.cs 577 B

12345678910111213141516171819202122232425262728293031
  1. using System.Text;
  2. namespace TerminalGuiFluentTesting;
  3. class ThreadSafeStringWriter : StringWriter
  4. {
  5. private readonly object _lock;
  6. public ThreadSafeStringWriter (StringBuilder sb, object syncLock) : base (sb)
  7. {
  8. _lock = syncLock;
  9. }
  10. public override void Write (char value)
  11. {
  12. lock (_lock)
  13. {
  14. base.Write (value);
  15. }
  16. }
  17. public override void Write (string? value)
  18. {
  19. lock (_lock)
  20. {
  21. base.Write (value);
  22. }
  23. }
  24. // (override other Write* methods as needed)
  25. }