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
- ObjectCacheSettings.cs
- AssemblyUtil.cs
- LinkArea.cs
- TemplateComponentConnector.cs
- StringValidatorAttribute.cs
- RawStylusSystemGestureInputReport.cs
- RouteParameter.cs
- NullableDoubleAverageAggregationOperator.cs
- ToolStripMenuItem.cs
- WebPartDesigner.cs
- AvTrace.cs
- XamlToRtfWriter.cs
- XmlSerializerAssemblyAttribute.cs
- SessionStateSection.cs
- COM2PictureConverter.cs
- GC.cs
- CodeObject.cs
- querybuilder.cs
- DispatcherObject.cs
- x509store.cs
- DocumentPageHost.cs
- DataGridSortCommandEventArgs.cs
- Oci.cs
- WindowVisualStateTracker.cs
- UserControlAutomationPeer.cs
- BitmapEffectGroup.cs
- DownloadProgressEventArgs.cs
- MultipartContentParser.cs
- TimeZoneNotFoundException.cs
- StringUtil.cs
- SystemColors.cs
- StdValidatorsAndConverters.cs
- PointConverter.cs
- ImageCodecInfo.cs
- MethodImplAttribute.cs
- IndexObject.cs
- MonthChangedEventArgs.cs
- documentsequencetextpointer.cs
- FileResponseElement.cs
- SecurityTokenResolver.cs
- BitmapEffect.cs
- XmlDownloadManager.cs
- ProfilePropertySettings.cs
- PropertyConverter.cs
- StrokeSerializer.cs
- Converter.cs
- SimpleBitVector32.cs
- HostedNamedPipeTransportManager.cs
- MasterPageCodeDomTreeGenerator.cs
- DataGridViewLayoutData.cs
- MobileErrorInfo.cs
- DataBindingExpressionBuilder.cs
- StringReader.cs
- _UncName.cs
- ComponentEditorForm.cs
- NamespaceEmitter.cs
- DataGridViewTopRowAccessibleObject.cs
- EraserBehavior.cs
- BreakRecordTable.cs
- SQLBytesStorage.cs
- SettingsContext.cs
- HtmlFormWrapper.cs
- StreamUpgradeInitiator.cs
- BaseValidator.cs
- FileSystemEventArgs.cs
- TypeDependencyAttribute.cs
- XmlByteStreamReader.cs
- TextModifierScope.cs
- StatusBarPanel.cs
- SmtpAuthenticationManager.cs
- CustomErrorsSectionWrapper.cs
- SecuritySessionClientSettings.cs
- HtmlInputCheckBox.cs
- DocumentReference.cs
- RowUpdatedEventArgs.cs
- ObjectSet.cs
- DataGridViewControlCollection.cs
- QilTernary.cs
- SourceElementsCollection.cs
- Cell.cs
- PrePostDescendentsWalker.cs
- ToolStripControlHost.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- CookieProtection.cs
- HyperLinkStyle.cs
- ProxyElement.cs
- ClientSideQueueItem.cs
- FontFamily.cs
- RC2CryptoServiceProvider.cs
- GeometryConverter.cs
- DynamicActivityProperty.cs
- WindowsRebar.cs
- SetUserLanguageRequest.cs
- ComboBox.cs
- EpmHelper.cs
- ClientFormsIdentity.cs
- SafeFindHandle.cs
- TraceFilter.cs
- XmlAnyAttributeAttribute.cs
- BamlWriter.cs