StringWriterWithEncoding.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #pragma warning disable CS1591
  2. using System;
  3. using System.IO;
  4. using System.Text;
  5. namespace Emby.Dlna.Didl
  6. {
  7. public class StringWriterWithEncoding : StringWriter
  8. {
  9. private readonly Encoding _encoding;
  10. public StringWriterWithEncoding()
  11. {
  12. }
  13. public StringWriterWithEncoding(IFormatProvider formatProvider)
  14. : base(formatProvider)
  15. {
  16. }
  17. public StringWriterWithEncoding(StringBuilder sb)
  18. : base(sb)
  19. {
  20. }
  21. public StringWriterWithEncoding(StringBuilder sb, IFormatProvider formatProvider)
  22. : base(sb, formatProvider)
  23. {
  24. }
  25. public StringWriterWithEncoding(Encoding encoding)
  26. {
  27. _encoding = encoding;
  28. }
  29. public StringWriterWithEncoding(IFormatProvider formatProvider, Encoding encoding)
  30. : base(formatProvider)
  31. {
  32. _encoding = encoding;
  33. }
  34. public StringWriterWithEncoding(StringBuilder sb, Encoding encoding)
  35. : base(sb)
  36. {
  37. _encoding = encoding;
  38. }
  39. public StringWriterWithEncoding(StringBuilder sb, IFormatProvider formatProvider, Encoding encoding)
  40. : base(sb, formatProvider)
  41. {
  42. _encoding = encoding;
  43. }
  44. public override Encoding Encoding => (null == _encoding) ? base.Encoding : _encoding;
  45. }
  46. }