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
- DataFormats.cs
- InputBindingCollection.cs
- RelatedCurrencyManager.cs
- ParallelRangeManager.cs
- WindowProviderWrapper.cs
- ContainerFilterService.cs
- BitmapEffectCollection.cs
- EFTableProvider.cs
- X509ScopedServiceCertificateElementCollection.cs
- DataGridItemCollection.cs
- BufferModesCollection.cs
- HttpDigestClientElement.cs
- TagNameToTypeMapper.cs
- HandledMouseEvent.cs
- ProjectionCamera.cs
- Win32KeyboardDevice.cs
- UnsignedPublishLicense.cs
- ItemCheckEvent.cs
- Quad.cs
- MediaContextNotificationWindow.cs
- WebPartHeaderCloseVerb.cs
- ObjectToIdCache.cs
- TemplateBindingExpression.cs
- ByteStorage.cs
- EngineSite.cs
- XmlBinaryWriterSession.cs
- TdsEnums.cs
- BitmapPalettes.cs
- NotificationContext.cs
- FrameworkElement.cs
- SerializationStore.cs
- RawStylusInputCustomData.cs
- RadioButtonStandardAdapter.cs
- IODescriptionAttribute.cs
- ApplicationInfo.cs
- ProviderException.cs
- ControlsConfig.cs
- sqlpipe.cs
- BookmarkWorkItem.cs
- FixedLineResult.cs
- TemplateLookupAction.cs
- SiteMapNodeItemEventArgs.cs
- ResolveDuplexCD1AsyncResult.cs
- ContentControl.cs
- CompositeDataBoundControl.cs
- BrowserCapabilitiesCodeGenerator.cs
- CultureSpecificCharacterBufferRange.cs
- SigningCredentials.cs
- PropertyChangeTracker.cs
- OleDbDataReader.cs
- FilterEventArgs.cs
- AsymmetricCryptoHandle.cs
- ErrorRuntimeConfig.cs
- DesignerForm.cs
- XmlnsDictionary.cs
- PersonalizationProviderHelper.cs
- FlowDocumentPage.cs
- InvalidAsynchronousStateException.cs
- XmlSignificantWhitespace.cs
- TransactionManager.cs
- UrlAuthorizationModule.cs
- Part.cs
- FactoryRecord.cs
- DataPagerCommandEventArgs.cs
- AVElementHelper.cs
- MetadataWorkspace.cs
- AlternateView.cs
- SystemFonts.cs
- ObjectManager.cs
- SqlClientMetaDataCollectionNames.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- HostProtectionException.cs
- NetCodeGroup.cs
- X509Certificate.cs
- Certificate.cs
- ToolStripPanel.cs
- AsyncStreamReader.cs
- ValidateNames.cs
- WebServiceHandlerFactory.cs
- FontConverter.cs
- ADRole.cs
- SingleStorage.cs
- EntityDataSourceContextCreatedEventArgs.cs
- PenContexts.cs
- SamlAuthorizationDecisionClaimResource.cs
- ToolboxItemCollection.cs
- PolyQuadraticBezierSegment.cs
- ConnectivityStatus.cs
- SafeNativeMethods.cs
- WithStatement.cs
- TypeResolvingOptions.cs
- ApplicationServiceHelper.cs
- SqlDependency.cs
- DbParameterCollectionHelper.cs
- UnsafeNativeMethods.cs
- WCFModelStrings.Designer.cs
- Line.cs
- EncoderFallback.cs
- EmulateRecognizeCompletedEventArgs.cs
- BufferModesCollection.cs