Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CustomTrackingQuery.cs
- DataExchangeServiceBinder.cs
- Figure.cs
- Membership.cs
- ToolStripPanelRenderEventArgs.cs
- CachedTypeface.cs
- FloaterBaseParaClient.cs
- NavigationFailedEventArgs.cs
- ExceptionHelpers.cs
- TimerElapsedEvenArgs.cs
- Symbol.cs
- DiscoveryDocument.cs
- MailDefinition.cs
- WebResponse.cs
- PanelStyle.cs
- ResourceCategoryAttribute.cs
- RangeValidator.cs
- TextPointer.cs
- EventTask.cs
- httpapplicationstate.cs
- cryptoapiTransform.cs
- AbstractDataSvcMapFileLoader.cs
- UseAttributeSetsAction.cs
- TemplateBindingExpression.cs
- Literal.cs
- Vertex.cs
- AutomationElementCollection.cs
- SqlCacheDependencyDatabaseCollection.cs
- WebEncodingValidatorAttribute.cs
- SecurityTokenValidationException.cs
- ComplexTypeEmitter.cs
- StandardCommands.cs
- TextServicesCompartmentEventSink.cs
- ServiceOperationParameter.cs
- HashRepartitionStream.cs
- SqlRemoveConstantOrderBy.cs
- MenuItemStyleCollection.cs
- ReadOnlyDictionary.cs
- TrustManagerPromptUI.cs
- UrlMappingsModule.cs
- CommentAction.cs
- BlurEffect.cs
- SqlDataAdapter.cs
- Set.cs
- URIFormatException.cs
- MatrixIndependentAnimationStorage.cs
- IdentityModelDictionary.cs
- input.cs
- SiteIdentityPermission.cs
- ResourceIDHelper.cs
- VersionPair.cs
- DSASignatureDeformatter.cs
- GenericEnumerator.cs
- CornerRadius.cs
- DocumentViewerAutomationPeer.cs
- ObjectCloneHelper.cs
- FormatConvertedBitmap.cs
- UndirectedGraph.cs
- ObjectFullSpanRewriter.cs
- DateTimeConverter2.cs
- FixedDocument.cs
- PixelFormats.cs
- RotateTransform.cs
- WorkBatch.cs
- UnsafeNativeMethods.cs
- ActiveXSerializer.cs
- SafeRightsManagementQueryHandle.cs
- TextViewElement.cs
- TransactionManager.cs
- HtmlInputButton.cs
- CodeGenerator.cs
- TrackingAnnotationCollection.cs
- DriveInfo.cs
- ToolStripPanelRenderEventArgs.cs
- XmlEntity.cs
- BitmapSourceSafeMILHandle.cs
- WindowsMenu.cs
- RelationshipSet.cs
- DecimalAnimationBase.cs
- ClientBuildManager.cs
- GrammarBuilder.cs
- DbDataRecord.cs
- SqlRemoveConstantOrderBy.cs
- BooleanProjectedSlot.cs
- BinaryMethodMessage.cs
- PreviewPageInfo.cs
- ArrayWithOffset.cs
- StaticDataManager.cs
- SessionSwitchEventArgs.cs
- DuplicateWaitObjectException.cs
- XmlSerializerAssemblyAttribute.cs
- HtmlInputPassword.cs
- invalidudtexception.cs
- MSAANativeProvider.cs
- CacheForPrimitiveTypes.cs
- TreeViewCancelEvent.cs
- DatatypeImplementation.cs
- StylusButton.cs
- CodeNamespaceImport.cs
- SecurityDescriptor.cs