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
- DBCSCodePageEncoding.cs
- PerfProviderCollection.cs
- XmlILConstructAnalyzer.cs
- FileUtil.cs
- DataGrid.cs
- PageContentCollection.cs
- PartialToken.cs
- ProfileSettingsCollection.cs
- SolidBrush.cs
- TableLayoutStyleCollection.cs
- BCLDebug.cs
- BitmapFrame.cs
- ObfuscationAttribute.cs
- ActivityExecutionWorkItem.cs
- ScriptReference.cs
- BrowserCapabilitiesFactory.cs
- TemplateInstanceAttribute.cs
- PointIndependentAnimationStorage.cs
- GlyphElement.cs
- MappingItemCollection.cs
- PlanCompilerUtil.cs
- TreeNode.cs
- ReadOnlyPropertyMetadata.cs
- SaveFileDialogDesigner.cs
- Models.cs
- CheckedPointers.cs
- EventManager.cs
- DateTimeFormat.cs
- _ScatterGatherBuffers.cs
- CookielessData.cs
- keycontainerpermission.cs
- ComponentCollection.cs
- IODescriptionAttribute.cs
- ScaleTransform.cs
- SQLInt16.cs
- DnsCache.cs
- SelectionItemProviderWrapper.cs
- ReversePositionQuery.cs
- Maps.cs
- SerializationTrace.cs
- ManifestSignedXml.cs
- PointKeyFrameCollection.cs
- BindingMemberInfo.cs
- NamespaceList.cs
- CLRBindingWorker.cs
- InputProcessorProfiles.cs
- MimeReflector.cs
- ConnectorDragDropGlyph.cs
- MarkupWriter.cs
- ReversePositionQuery.cs
- Stacktrace.cs
- DesignerDataConnection.cs
- PolicyStatement.cs
- ConfigDefinitionUpdates.cs
- LogArchiveSnapshot.cs
- IteratorFilter.cs
- ContentElement.cs
- SmtpCommands.cs
- EntityPropertyMappingAttribute.cs
- CharacterMetrics.cs
- ErrorBehavior.cs
- CellPartitioner.cs
- PathGeometry.cs
- ObjectReaderCompiler.cs
- PartitionResolver.cs
- TouchEventArgs.cs
- ExpandSegment.cs
- Vars.cs
- dataprotectionpermission.cs
- MemberDomainMap.cs
- WorkflowApplicationEventArgs.cs
- FormatControl.cs
- CellParagraph.cs
- UrlParameterReader.cs
- Rfc2898DeriveBytes.cs
- StylusEventArgs.cs
- TabletDeviceInfo.cs
- BitmapEffectOutputConnector.cs
- TextReader.cs
- GenericEnumConverter.cs
- LineServicesRun.cs
- Ref.cs
- Sql8ConformanceChecker.cs
- ReaderOutput.cs
- QuestionEventArgs.cs
- TextParagraphView.cs
- DoubleLinkList.cs
- PriorityQueue.cs
- DataObjectPastingEventArgs.cs
- RestClientProxyHandler.cs
- UnmanagedMemoryStream.cs
- GlobalizationAssembly.cs
- ViewCellSlot.cs
- QueueProcessor.cs
- WindowsStatusBar.cs
- MulticastNotSupportedException.cs
- TreeNodeEventArgs.cs
- RadioButton.cs
- TreeView.cs
- HttpInputStream.cs