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
- KeyFrames.cs
- DecoderReplacementFallback.cs
- Material.cs
- VisualTarget.cs
- MemberDomainMap.cs
- DesignerObject.cs
- NameScopePropertyAttribute.cs
- Mutex.cs
- DockProviderWrapper.cs
- XmlBinaryReader.cs
- TickBar.cs
- SpellerInterop.cs
- MissingManifestResourceException.cs
- MetadataCollection.cs
- InputChannelAcceptor.cs
- DivideByZeroException.cs
- CopyCodeAction.cs
- Style.cs
- WindowsIPAddress.cs
- PhysicalFontFamily.cs
- Logging.cs
- SqlNodeAnnotation.cs
- XPathNavigator.cs
- XamlPointCollectionSerializer.cs
- EntityDataSourceValidationException.cs
- ConfigXmlElement.cs
- SharedPerformanceCounter.cs
- StateMachineWorkflowInstance.cs
- LocalizableAttribute.cs
- ContextStaticAttribute.cs
- BasicViewGenerator.cs
- Trigger.cs
- ProtectedConfigurationSection.cs
- QilList.cs
- RowBinding.cs
- XPathNavigator.cs
- PackagingUtilities.cs
- NCryptNative.cs
- SecurityBindingElementImporter.cs
- ChtmlPhoneCallAdapter.cs
- SecurityTokenValidationException.cs
- TriggerCollection.cs
- StaticTextPointer.cs
- MulticastNotSupportedException.cs
- Stacktrace.cs
- CultureInfoConverter.cs
- DiscoveryClientOutputChannel.cs
- SystemIcons.cs
- OdbcConnection.cs
- AttachedPropertyBrowsableAttribute.cs
- WinEventHandler.cs
- FolderBrowserDialogDesigner.cs
- TokenBasedSetEnumerator.cs
- ConfigurationValidatorAttribute.cs
- CategoryEditor.cs
- AnnotationComponentManager.cs
- SchemaSetCompiler.cs
- DataServiceHostFactory.cs
- DbInsertCommandTree.cs
- ControlCodeDomSerializer.cs
- MachineKeyConverter.cs
- SystemGatewayIPAddressInformation.cs
- NativeMethods.cs
- ReferencedCollectionType.cs
- SamlDoNotCacheCondition.cs
- _HelperAsyncResults.cs
- GridItem.cs
- MouseEventArgs.cs
- Focus.cs
- Tool.cs
- GetLedgerEntryForRecipientRequest.cs
- SymbolEqualComparer.cs
- BaseUriHelper.cs
- ScriptReferenceBase.cs
- FolderBrowserDialog.cs
- GetParentChain.cs
- WindowsIdentity.cs
- DbDeleteCommandTree.cs
- NullableDecimalSumAggregationOperator.cs
- RSAPKCS1SignatureFormatter.cs
- CellConstant.cs
- DashStyle.cs
- XmlDigitalSignatureProcessor.cs
- AnimatedTypeHelpers.cs
- DefaultProxySection.cs
- EntryPointNotFoundException.cs
- ALinqExpressionVisitor.cs
- SynchronizationLockException.cs
- ChangeInterceptorAttribute.cs
- BypassElementCollection.cs
- RuntimeArgumentHandle.cs
- CriticalExceptions.cs
- CookieParameter.cs
- InvokeWebServiceDesigner.cs
- ConfigXmlSignificantWhitespace.cs
- FormViewModeEventArgs.cs
- EmbeddedMailObject.cs
- RawMouseInputReport.cs
- AuthenticationModuleElementCollection.cs
- Translator.cs