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
- GenericTypeParameterConverter.cs
- nulltextnavigator.cs
- TextDecoration.cs
- SQLSingleStorage.cs
- DesignTimeVisibleAttribute.cs
- ProfileGroupSettingsCollection.cs
- ToolboxControl.cs
- KoreanCalendar.cs
- ToolStripItemDataObject.cs
- ProxyWebPartConnectionCollection.cs
- Light.cs
- ObjectQuery_EntitySqlExtensions.cs
- FrameworkContentElement.cs
- QueryStack.cs
- CultureMapper.cs
- InvalidComObjectException.cs
- XamlFxTrace.cs
- SHA256CryptoServiceProvider.cs
- UserNameSecurityTokenAuthenticator.cs
- NumberAction.cs
- EntityRecordInfo.cs
- FixedSOMSemanticBox.cs
- DbMetaDataCollectionNames.cs
- ExceptionRoutedEventArgs.cs
- PenThreadPool.cs
- InvalidEnumArgumentException.cs
- __FastResourceComparer.cs
- ColorConvertedBitmap.cs
- XmlName.cs
- TreePrinter.cs
- ListViewCancelEventArgs.cs
- PingOptions.cs
- OpenFileDialog.cs
- AdapterUtil.cs
- SignatureHelper.cs
- ReferenceConverter.cs
- Normalizer.cs
- RuleSettings.cs
- SqlParameter.cs
- HttpConfigurationSystem.cs
- WindowsFormsHostPropertyMap.cs
- ComponentRenameEvent.cs
- ColorBlend.cs
- Composition.cs
- ToolStripComboBox.cs
- AspNetRouteServiceHttpHandler.cs
- BinaryMethodMessage.cs
- UserControl.cs
- _AutoWebProxyScriptEngine.cs
- CatalogPart.cs
- GrammarBuilderRuleRef.cs
- HashMembershipCondition.cs
- ValueUnavailableException.cs
- ServiceMemoryGates.cs
- SoapConverter.cs
- EnvelopeVersion.cs
- DropDownList.cs
- StylusButton.cs
- GZipUtils.cs
- CodeExpressionCollection.cs
- WindowsFormsHostPropertyMap.cs
- TabControlCancelEvent.cs
- AsyncResult.cs
- GridSplitterAutomationPeer.cs
- XmlILTrace.cs
- EditingScope.cs
- JournalEntryStack.cs
- HtmlShim.cs
- DbConnectionOptions.cs
- PropertyPathConverter.cs
- BitmapEditor.cs
- CustomErrorsSectionWrapper.cs
- DataGridViewCellCollection.cs
- ScriptRegistrationManager.cs
- ListBox.cs
- WebReferenceCollection.cs
- GridViewDeletedEventArgs.cs
- serverconfig.cs
- DataSvcMapFileSerializer.cs
- ApplicationFileCodeDomTreeGenerator.cs
- XmlAggregates.cs
- OdbcParameter.cs
- EncryptedXml.cs
- SmiConnection.cs
- DatagridviewDisplayedBandsData.cs
- CodeLabeledStatement.cs
- SocketInformation.cs
- TextComposition.cs
- WindowsHyperlink.cs
- WhitespaceRule.cs
- RSAPKCS1KeyExchangeFormatter.cs
- ObjectListCommand.cs
- SecurityAppliedMessage.cs
- LabelExpression.cs
- PolyLineSegmentFigureLogic.cs
- RootBrowserWindowAutomationPeer.cs
- CompositeControl.cs
- EncryptedType.cs
- HtmlInputCheckBox.cs
- ObjectResult.cs