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
- XmlTextReader.cs
- XamlTypeMapper.cs
- FontResourceCache.cs
- DecoratedNameAttribute.cs
- RootBrowserWindowAutomationPeer.cs
- BaseResourcesBuildProvider.cs
- ContentWrapperAttribute.cs
- ObjectItemNoOpAssemblyLoader.cs
- FormViewDeletedEventArgs.cs
- PersianCalendar.cs
- LogWriteRestartAreaAsyncResult.cs
- ModuleElement.cs
- ClientSettingsStore.cs
- DbConnectionHelper.cs
- ShapingEngine.cs
- AttributeUsageAttribute.cs
- TraceSection.cs
- EntityClassGenerator.cs
- DataPointer.cs
- ExitEventArgs.cs
- XPathChildIterator.cs
- StyleSelector.cs
- WebServiceParameterData.cs
- XsltException.cs
- AuthenticationException.cs
- IndexedGlyphRun.cs
- EntityStoreSchemaGenerator.cs
- FieldBuilder.cs
- Baml2006ReaderContext.cs
- basecomparevalidator.cs
- DateTimeHelper.cs
- ContextMenu.cs
- Hyperlink.cs
- TraceProvider.cs
- SqlFacetAttribute.cs
- SerialStream.cs
- EditingScopeUndoUnit.cs
- SmiGettersStream.cs
- DragEvent.cs
- AccessViolationException.cs
- Documentation.cs
- CodeTypeReference.cs
- PathGeometry.cs
- uribuilder.cs
- PagePropertiesChangingEventArgs.cs
- AttributeExtensions.cs
- MetadataArtifactLoader.cs
- DNS.cs
- TextServicesCompartment.cs
- _NTAuthentication.cs
- ConfigurationElement.cs
- ClusterSafeNativeMethods.cs
- VectorValueSerializer.cs
- FullTextState.cs
- Int64AnimationUsingKeyFrames.cs
- basenumberconverter.cs
- SortFieldComparer.cs
- ProfilePropertyNameValidator.cs
- ConfigDefinitionUpdates.cs
- XmlNamespaceDeclarationsAttribute.cs
- TransformPatternIdentifiers.cs
- ComponentSerializationService.cs
- Timer.cs
- datacache.cs
- peersecurityelement.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- SqlAggregateChecker.cs
- WorkflowViewService.cs
- SafeBitVector32.cs
- WindowsScrollBarBits.cs
- SafeSystemMetrics.cs
- OrderedDictionaryStateHelper.cs
- UnaryQueryOperator.cs
- GradientStop.cs
- AdCreatedEventArgs.cs
- DataServiceStreamProviderWrapper.cs
- BuildManagerHost.cs
- GroupedContextMenuStrip.cs
- SqlErrorCollection.cs
- TemplateInstanceAttribute.cs
- Int16Animation.cs
- FixedSOMLineRanges.cs
- UnauthorizedAccessException.cs
- BlurEffect.cs
- TraceLog.cs
- ListViewSortEventArgs.cs
- EventDescriptorCollection.cs
- PerCallInstanceContextProvider.cs
- clipboard.cs
- ITreeGenerator.cs
- TextTrailingCharacterEllipsis.cs
- RegexGroupCollection.cs
- CachedPathData.cs
- EventSourceCreationData.cs
- COM2ComponentEditor.cs
- SqlTriggerContext.cs
- XmlSchemaComplexContentExtension.cs
- SQLByteStorage.cs
- PageSettings.cs
- SR.cs