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
- DataGridLinkButton.cs
- DataGridViewTextBoxCell.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- DistinctQueryOperator.cs
- ControlPersister.cs
- AttributeCollection.cs
- NullExtension.cs
- IIS7UserPrincipal.cs
- SqlDataSourceView.cs
- ConnectivityStatus.cs
- ParamArrayAttribute.cs
- XmlAttributeAttribute.cs
- BamlLocalizableResourceKey.cs
- VirtualPathExtension.cs
- EmptyControlCollection.cs
- CornerRadiusConverter.cs
- CaretElement.cs
- FtpWebResponse.cs
- ReadOnlyAttribute.cs
- InstallerTypeAttribute.cs
- CheckBox.cs
- UpdateCommand.cs
- ExecutionContext.cs
- EventKeyword.cs
- ObjectFullSpanRewriter.cs
- FusionWrap.cs
- SignatureHelper.cs
- VariantWrapper.cs
- DbCommandTree.cs
- DataBindEngine.cs
- XmlNodeList.cs
- MemberHolder.cs
- QueryableFilterUserControl.cs
- HttpHandlerAction.cs
- _Connection.cs
- ValidationResult.cs
- ErrorStyle.cs
- Help.cs
- PageStatePersister.cs
- ContractListAdapter.cs
- DataBindingCollectionEditor.cs
- XmlLanguage.cs
- InstancePersistenceCommand.cs
- LambdaCompiler.cs
- SafeHandles.cs
- Durable.cs
- QueueProcessor.cs
- Margins.cs
- PluralizationServiceUtil.cs
- ScriptManager.cs
- RenamedEventArgs.cs
- RectIndependentAnimationStorage.cs
- MetricEntry.cs
- Message.cs
- MenuItemAutomationPeer.cs
- X509Certificate2.cs
- StateBag.cs
- PersonalizationProviderCollection.cs
- EmulateRecognizeCompletedEventArgs.cs
- OuterGlowBitmapEffect.cs
- PackagePartCollection.cs
- CompoundFileStorageReference.cs
- FragmentQueryProcessor.cs
- QueryTask.cs
- ParseChildrenAsPropertiesAttribute.cs
- CharacterBufferReference.cs
- OutputCacheProfileCollection.cs
- PromptEventArgs.cs
- ToolCreatedEventArgs.cs
- DesignerActionPanel.cs
- DataServiceResponse.cs
- CollectionsUtil.cs
- EventTrigger.cs
- AmbientValueAttribute.cs
- ToolBar.cs
- IPGlobalProperties.cs
- TypeCodeDomSerializer.cs
- SpellerStatusTable.cs
- SerializerProvider.cs
- TrackBar.cs
- NameObjectCollectionBase.cs
- DynamicPropertyReader.cs
- SqlDataSourceCommandEventArgs.cs
- Timer.cs
- AsyncCompletedEventArgs.cs
- FormViewPagerRow.cs
- ReplacementText.cs
- XamlRtfConverter.cs
- CodeDomConfigurationHandler.cs
- NullExtension.cs
- ObjectCacheSettings.cs
- TableRow.cs
- EncryptedPackage.cs
- TdsParserHelperClasses.cs
- CultureSpecificStringDictionary.cs
- QilLoop.cs
- MimeMultiPart.cs
- CopyNamespacesAction.cs
- StateItem.cs
- HtmlElementErrorEventArgs.cs