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
- FileReservationCollection.cs
- MenuTracker.cs
- WebResourceAttribute.cs
- WebPartsPersonalization.cs
- SrgsDocumentParser.cs
- ObjectDataSourceSelectingEventArgs.cs
- MessageBox.cs
- MessageQueueException.cs
- ListBox.cs
- ReturnType.cs
- DataAccessor.cs
- CallbackBehaviorAttribute.cs
- ConfigXmlCDataSection.cs
- OdbcHandle.cs
- CompiledELinqQueryState.cs
- WorkflowLayouts.cs
- CodeEntryPointMethod.cs
- SemaphoreSecurity.cs
- shaperfactoryquerycacheentry.cs
- SignatureResourcePool.cs
- SudsWriter.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- Operand.cs
- DesignerDataConnection.cs
- PrintPageEvent.cs
- WindowsStatic.cs
- DataServiceHostFactory.cs
- CalloutQueueItem.cs
- OracleConnectionStringBuilder.cs
- EnglishPluralizationService.cs
- CodeMethodReturnStatement.cs
- WebPartConnectionsConfigureVerb.cs
- AssertSection.cs
- CompressionTransform.cs
- SmiRecordBuffer.cs
- ProgressBarBrushConverter.cs
- ArraySegment.cs
- DoubleStorage.cs
- ErrorFormatter.cs
- ServiceBuildProvider.cs
- Keyboard.cs
- NetworkInformationException.cs
- ResXResourceSet.cs
- SettingsPropertyIsReadOnlyException.cs
- CatalogPart.cs
- DispatcherHooks.cs
- TagPrefixAttribute.cs
- ButtonChrome.cs
- TypeLoadException.cs
- XmlArrayItemAttribute.cs
- XMLUtil.cs
- BaseCodeDomTreeGenerator.cs
- RemoteWebConfigurationHostServer.cs
- ChangesetResponse.cs
- VisualBrush.cs
- FrameDimension.cs
- UshortList2.cs
- RepeaterItemEventArgs.cs
- ControlParameter.cs
- TypefaceMap.cs
- ModelVisual3D.cs
- ConfigurationSettings.cs
- OleDbMetaDataFactory.cs
- ReflectionServiceProvider.cs
- CompositeScriptReference.cs
- ExpressionNode.cs
- CompatibleComparer.cs
- PropertyTabAttribute.cs
- ThumbButtonInfo.cs
- BaseUriHelper.cs
- TableTextElementCollectionInternal.cs
- KeyTimeConverter.cs
- XmlException.cs
- RelationshipConverter.cs
- ExpandSegment.cs
- PropVariant.cs
- WebBrowserHelper.cs
- TypeToken.cs
- Gdiplus.cs
- StronglyTypedResourceBuilder.cs
- TimersDescriptionAttribute.cs
- PointAnimationClockResource.cs
- ToolStripOverflow.cs
- SchemaSetCompiler.cs
- SqlDataSourceEnumerator.cs
- CapabilitiesAssignment.cs
- MediaCommands.cs
- ToolBarButton.cs
- FileRecordSequenceHelper.cs
- SecurityDescriptor.cs
- DbProviderServices.cs
- ResourceReader.cs
- FamilyMap.cs
- ImageField.cs
- UpdateCommand.cs
- DataBindingValueUIHandler.cs
- EdmProperty.cs
- ProcessHostConfigUtils.cs
- TransformValueSerializer.cs
- Symbol.cs