Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / Json / ByteArrayHelperWithString.cs / 1305376 / ByteArrayHelperWithString.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Runtime.Serialization.Json { using System; using System.Collections.Generic; using System.Text; using System.Xml; class ByteArrayHelperWithString : ArrayHelper{ static public readonly ByteArrayHelperWithString Instance = new ByteArrayHelperWithString(); internal void WriteArray(XmlWriter writer, byte[] array, int offset, int count) { XmlJsonReader.CheckArray(array, offset, count); writer.WriteAttributeString(string.Empty, JsonGlobals.typeString, string.Empty, JsonGlobals.arrayString); for (int i = 0; i < count; i++) { writer.WriteStartElement(JsonGlobals.itemString, string.Empty); writer.WriteAttributeString(string.Empty, JsonGlobals.typeString, string.Empty, JsonGlobals.numberString); writer.WriteValue((int) array[offset + i]); writer.WriteEndElement(); } } protected override int ReadArray(XmlDictionaryReader reader, string localName, string namespaceUri, byte[] array, int offset, int count) { XmlJsonReader.CheckArray(array, offset, count); int actual = 0; while (actual < count && reader.IsStartElement(JsonGlobals.itemString, string.Empty)) { array[offset + actual] = ToByte(reader.ReadElementContentAsInt()); actual++; } return actual; } protected override void WriteArray(XmlDictionaryWriter writer, string prefix, string localName, string namespaceUri, byte[] array, int offset, int count) { WriteArray(writer, array, offset, count); } void ThrowConversionException(string value, string type) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(SR.GetString(SR.XmlInvalidConversion, value, type))); } byte ToByte(int value) { if (value < byte.MinValue || value > byte.MaxValue) { ThrowConversionException(value.ToString(System.Globalization.NumberFormatInfo.CurrentInfo), "Byte"); } return (byte) value; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.Runtime.Serialization.Json { using System; using System.Collections.Generic; using System.Text; using System.Xml; class ByteArrayHelperWithString : ArrayHelper { static public readonly ByteArrayHelperWithString Instance = new ByteArrayHelperWithString(); internal void WriteArray(XmlWriter writer, byte[] array, int offset, int count) { XmlJsonReader.CheckArray(array, offset, count); writer.WriteAttributeString(string.Empty, JsonGlobals.typeString, string.Empty, JsonGlobals.arrayString); for (int i = 0; i < count; i++) { writer.WriteStartElement(JsonGlobals.itemString, string.Empty); writer.WriteAttributeString(string.Empty, JsonGlobals.typeString, string.Empty, JsonGlobals.numberString); writer.WriteValue((int) array[offset + i]); writer.WriteEndElement(); } } protected override int ReadArray(XmlDictionaryReader reader, string localName, string namespaceUri, byte[] array, int offset, int count) { XmlJsonReader.CheckArray(array, offset, count); int actual = 0; while (actual < count && reader.IsStartElement(JsonGlobals.itemString, string.Empty)) { array[offset + actual] = ToByte(reader.ReadElementContentAsInt()); actual++; } return actual; } protected override void WriteArray(XmlDictionaryWriter writer, string prefix, string localName, string namespaceUri, byte[] array, int offset, int count) { WriteArray(writer, array, offset, count); } void ThrowConversionException(string value, string type) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new XmlException(SR.GetString(SR.XmlInvalidConversion, value, type))); } byte ToByte(int value) { if (value < byte.MinValue || value > byte.MaxValue) { ThrowConversionException(value.ToString(System.Globalization.NumberFormatInfo.CurrentInfo), "Byte"); } return (byte) value; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- PersistenceProviderFactory.cs
- MdiWindowListItemConverter.cs
- HostingEnvironmentException.cs
- DetailsViewRowCollection.cs
- HTTPAPI_VERSION.cs
- SessionEndedEventArgs.cs
- Constraint.cs
- DesignerWebPartChrome.cs
- EventLog.cs
- XmlQueryCardinality.cs
- EntityContainerEntitySet.cs
- PageContentAsyncResult.cs
- RelOps.cs
- FederatedMessageSecurityOverHttpElement.cs
- IPEndPointCollection.cs
- PerformanceCounterLib.cs
- CallbackValidator.cs
- ItemContainerGenerator.cs
- StorageSetMapping.cs
- CodeMethodReturnStatement.cs
- StringFunctions.cs
- CompModHelpers.cs
- PriorityQueue.cs
- SpellerStatusTable.cs
- RowsCopiedEventArgs.cs
- PriorityBinding.cs
- LoaderAllocator.cs
- peernodestatemanager.cs
- ObjectStateFormatter.cs
- QueryContinueDragEventArgs.cs
- XmlQueryTypeFactory.cs
- Matrix3D.cs
- MemoryStream.cs
- Int16KeyFrameCollection.cs
- MonitoringDescriptionAttribute.cs
- SiblingIterators.cs
- PolicyStatement.cs
- WindowsClaimSet.cs
- ReadWriteSpinLock.cs
- InternalTypeHelper.cs
- KeyTimeConverter.cs
- FileStream.cs
- TypeHelper.cs
- CopyOfAction.cs
- DBCommand.cs
- ReferencedType.cs
- XmlCompatibilityReader.cs
- XmlNamespaceManager.cs
- TimeSpanStorage.cs
- MenuItem.cs
- SqlRowUpdatingEvent.cs
- AssemblyHash.cs
- Select.cs
- PointLight.cs
- RegexInterpreter.cs
- PersonalizationState.cs
- GrammarBuilderBase.cs
- TempFiles.cs
- SHA1CryptoServiceProvider.cs
- GeometryDrawing.cs
- AttachedPropertyMethodSelector.cs
- PublisherIdentityPermission.cs
- RowUpdatedEventArgs.cs
- LazyInitializer.cs
- IpcPort.cs
- TimeZone.cs
- SessionPageStateSection.cs
- ExceptionUtility.cs
- _AutoWebProxyScriptWrapper.cs
- PrintControllerWithStatusDialog.cs
- SafeFileMapViewHandle.cs
- NotConverter.cs
- XmlAnyElementAttribute.cs
- GrammarBuilderPhrase.cs
- wgx_render.cs
- ISFTagAndGuidCache.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- AttributeProviderAttribute.cs
- DesignerActionUI.cs
- TableLayoutPanelCellPosition.cs
- SecureConversationDriver.cs
- Expression.DebuggerProxy.cs
- NativeCppClassAttribute.cs
- SiteMapNodeItem.cs
- HelpKeywordAttribute.cs
- EventProxy.cs
- DateTimeOffsetConverter.cs
- EdmError.cs
- ChannelSinkStacks.cs
- SqlErrorCollection.cs
- BinaryObjectInfo.cs
- LinqDataSourceValidationException.cs
- DoubleAnimationUsingKeyFrames.cs
- AnnouncementInnerClientCD1.cs
- FileDialogCustomPlaces.cs
- SqlXml.cs
- ListViewItemMouseHoverEvent.cs
- DataListCommandEventArgs.cs
- Transform3D.cs
- LogicalTreeHelper.cs