StringWriterWithEncoding.cs 1.5 KB

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