Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / Runtime / Serialization / Json / ByteArrayHelperWithString.cs / 1 / 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 System.ServiceModel.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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SystemTcpStatistics.cs
- LineVisual.cs
- DataStorage.cs
- VerificationException.cs
- Configuration.cs
- SmtpNetworkElement.cs
- ThreadExceptionEvent.cs
- altserialization.cs
- Viewport3DAutomationPeer.cs
- RegexFCD.cs
- ThicknessAnimationBase.cs
- BooleanConverter.cs
- InplaceBitmapMetadataWriter.cs
- Literal.cs
- DecimalAnimation.cs
- StatusStrip.cs
- StaticSiteMapProvider.cs
- MetafileHeader.cs
- DataViewSetting.cs
- AstTree.cs
- ClientData.cs
- HijriCalendar.cs
- StringAnimationBase.cs
- PlaceHolder.cs
- PasswordBoxAutomationPeer.cs
- SiteMapNode.cs
- DbMetaDataFactory.cs
- SendMailErrorEventArgs.cs
- SynchronizationFilter.cs
- EventWaitHandleSecurity.cs
- WebPartEditorOkVerb.cs
- ColorContextHelper.cs
- HitTestWithPointDrawingContextWalker.cs
- TextRangeProviderWrapper.cs
- ReadOnlyCollection.cs
- BindUriHelper.cs
- ValidationUtility.cs
- DbProviderFactoriesConfigurationHandler.cs
- AccessDataSourceView.cs
- HebrewCalendar.cs
- FileResponseElement.cs
- FilterEventArgs.cs
- ElementProxy.cs
- CodeDefaultValueExpression.cs
- EpmSourceTree.cs
- MenuItemBinding.cs
- RegistrySecurity.cs
- PermissionSetTriple.cs
- MailWriter.cs
- DBSqlParser.cs
- COM2IDispatchConverter.cs
- XmlSchemaExporter.cs
- DoubleAnimationUsingKeyFrames.cs
- InfiniteTimeSpanConverter.cs
- LinearGradientBrush.cs
- StatusStrip.cs
- ClientSession.cs
- SqlConnectionStringBuilder.cs
- WebPartAuthorizationEventArgs.cs
- Helpers.cs
- RoutedEventConverter.cs
- DateTimeOffset.cs
- LiteralLink.cs
- CellTreeNode.cs
- TimersDescriptionAttribute.cs
- Timeline.cs
- HttpContext.cs
- Int64.cs
- BuilderPropertyEntry.cs
- TrustLevel.cs
- ClientReliableChannelBinder.cs
- ToolZone.cs
- MailSettingsSection.cs
- TimeSpan.cs
- SafeMILHandle.cs
- ColumnWidthChangedEvent.cs
- OracleFactory.cs
- SerializationHelper.cs
- OracleConnectionFactory.cs
- SessionStateModule.cs
- ImageSourceValueSerializer.cs
- WebPartDisplayModeCancelEventArgs.cs
- StylusPointPropertyInfo.cs
- ModifiableIteratorCollection.cs
- DataGridViewCellLinkedList.cs
- GridItemPattern.cs
- MonthCalendar.cs
- TimeSpanStorage.cs
- EntitySqlQueryState.cs
- OracleBinary.cs
- prefixendpointaddressmessagefiltertable.cs
- SqlDataSourceCommandEventArgs.cs
- InputLangChangeEvent.cs
- HTMLTagNameToTypeMapper.cs
- CacheChildrenQuery.cs
- Delegate.cs
- AsyncResult.cs
- FocusTracker.cs
- DataSourceCacheDurationConverter.cs
- ValueQuery.cs