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
- ControlPaint.cs
- SqlStream.cs
- TypeExtension.cs
- DataGridViewColumnCollection.cs
- SecurityTokenRequirement.cs
- Pkcs7Signer.cs
- LocalizationParserHooks.cs
- ProcessManager.cs
- HierarchicalDataTemplate.cs
- ListViewCancelEventArgs.cs
- PropertyTab.cs
- FileChangesMonitor.cs
- ProcessHostMapPath.cs
- Lease.cs
- MeasurementDCInfo.cs
- XmlWriterTraceListener.cs
- ShimAsPublicXamlType.cs
- DataGridViewRowEventArgs.cs
- LiteralControl.cs
- XPathChildIterator.cs
- RequestTimeoutManager.cs
- MessageHeader.cs
- FixedLineResult.cs
- XpsSerializerFactory.cs
- PenThreadPool.cs
- ConfigXmlAttribute.cs
- SocketStream.cs
- X509Certificate.cs
- BooleanFunctions.cs
- ActivityInfo.cs
- ConsoleCancelEventArgs.cs
- AdvancedBindingEditor.cs
- ArrayList.cs
- GridItemProviderWrapper.cs
- SqlPersonalizationProvider.cs
- DataGridViewRowConverter.cs
- ColumnResizeAdorner.cs
- EntryPointNotFoundException.cs
- ResourceExpressionBuilder.cs
- AuditLevel.cs
- ToolStripManager.cs
- CodeMethodMap.cs
- GridItem.cs
- RecipientInfo.cs
- RootDesignerSerializerAttribute.cs
- XmlElementAttribute.cs
- XmlToDatasetMap.cs
- StyleModeStack.cs
- DefaultCommandConverter.cs
- TextServicesCompartmentEventSink.cs
- SqlConnectionPoolProviderInfo.cs
- SizeAnimation.cs
- GacUtil.cs
- Misc.cs
- StateBag.cs
- ObjectDataSourceMethodEditor.cs
- SizeFConverter.cs
- PolygonHotSpot.cs
- SecurityKeyUsage.cs
- DPCustomTypeDescriptor.cs
- WebEncodingValidator.cs
- HostingEnvironment.cs
- SqlWebEventProvider.cs
- ServiceOperation.cs
- SQLResource.cs
- CellParaClient.cs
- FloatUtil.cs
- GeneralTransform3DGroup.cs
- CodeGroup.cs
- SessionStateModule.cs
- SqlCommand.cs
- EarlyBoundInfo.cs
- XmlnsPrefixAttribute.cs
- SchemaCollectionCompiler.cs
- HashHelper.cs
- ToolboxItemLoader.cs
- EmbeddedMailObjectCollectionEditor.cs
- ImageButton.cs
- SHA512.cs
- X500Name.cs
- PageThemeParser.cs
- EmptyReadOnlyDictionaryInternal.cs
- SmiContext.cs
- LinqExpressionNormalizer.cs
- DataGridViewTopRowAccessibleObject.cs
- SiteMapProvider.cs
- AutomationIdentifier.cs
- ExpanderAutomationPeer.cs
- WebEventCodes.cs
- ImmutableCollection.cs
- DataTableReaderListener.cs
- TreeBuilder.cs
- ReliableChannelBinder.cs
- RowParagraph.cs
- HttpHandler.cs
- ServiceDescriptionSerializer.cs
- DesignTimeTemplateParser.cs
- SchemaNamespaceManager.cs
- DocumentApplication.cs
- SessionEndedEventArgs.cs