JsonByteArrayDataContract.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233
  1. //----------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //----------------------------------------------------------------
  4. namespace System.Runtime.Serialization.Json
  5. {
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Text;
  9. using System.Diagnostics;
  10. using System.Xml;
  11. class JsonByteArrayDataContract : JsonDataContract
  12. {
  13. public JsonByteArrayDataContract(ByteArrayDataContract traditionalByteArrayDataContract)
  14. : base(traditionalByteArrayDataContract)
  15. {
  16. }
  17. public override object ReadJsonValueCore(XmlReaderDelegator jsonReader, XmlObjectSerializerReadContextComplexJson context)
  18. {
  19. if (context == null)
  20. {
  21. return TryReadNullAtTopLevel(jsonReader) ? null : jsonReader.ReadElementContentAsBase64();
  22. }
  23. else
  24. {
  25. return HandleReadValue(jsonReader.ReadElementContentAsBase64(), context);
  26. }
  27. }
  28. }
  29. }