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
- VerbConverter.cs
- FrameworkContentElement.cs
- XmlSchemaSet.cs
- SudsCommon.cs
- StaticResourceExtension.cs
- EntityCommandCompilationException.cs
- NavigationProperty.cs
- SqlDataSourceSelectingEventArgs.cs
- FixUp.cs
- cookie.cs
- UserControlCodeDomTreeGenerator.cs
- DoubleConverter.cs
- Wizard.cs
- MailBnfHelper.cs
- PlainXmlSerializer.cs
- ImageMapEventArgs.cs
- DataColumnMappingCollection.cs
- BypassElementCollection.cs
- CollectionBase.cs
- WsdlInspector.cs
- MatrixCamera.cs
- DynamicQueryableWrapper.cs
- XmlAutoDetectWriter.cs
- PagedDataSource.cs
- DesignSurfaceManager.cs
- InheritedPropertyDescriptor.cs
- ScrollItemProviderWrapper.cs
- DashStyle.cs
- EdmComplexPropertyAttribute.cs
- DataListCommandEventArgs.cs
- CopyOnWriteList.cs
- __Error.cs
- TypeConstant.cs
- Image.cs
- UIElementPropertyUndoUnit.cs
- XmlDataDocument.cs
- StrokeCollection.cs
- SqlErrorCollection.cs
- FlowDocumentView.cs
- Assert.cs
- AutomationPeer.cs
- XamlFxTrace.cs
- DomNameTable.cs
- BaseDataListActionList.cs
- TransactionTraceIdentifier.cs
- QueryResponse.cs
- _FtpDataStream.cs
- EntityContainerAssociationSet.cs
- XmlSchemaAnyAttribute.cs
- ServiceOperation.cs
- TimeSpanStorage.cs
- DateTimeConverter.cs
- OletxEnlistment.cs
- DataGridTablesFactory.cs
- PaginationProgressEventArgs.cs
- EntityDataSourceView.cs
- AssemblyCache.cs
- AssemblyNameUtility.cs
- InputScopeNameConverter.cs
- DataError.cs
- XamlPointCollectionSerializer.cs
- WebBrowserUriTypeConverter.cs
- RayMeshGeometry3DHitTestResult.cs
- TextViewSelectionProcessor.cs
- CounterSampleCalculator.cs
- ZoneIdentityPermission.cs
- login.cs
- UriTemplate.cs
- WebRequestModuleElement.cs
- PeerCollaboration.cs
- CharAnimationUsingKeyFrames.cs
- RepeaterCommandEventArgs.cs
- Conditional.cs
- ExitEventArgs.cs
- ServicePointManagerElement.cs
- PrivilegeNotHeldException.cs
- IListConverters.cs
- TemplateControl.cs
- CodeTypeReferenceExpression.cs
- ManagementEventWatcher.cs
- SubtreeProcessor.cs
- LicenseException.cs
- CodeArrayIndexerExpression.cs
- Style.cs
- MatrixTransform3D.cs
- NameValueSectionHandler.cs
- TableDetailsRow.cs
- MetadataFile.cs
- Pair.cs
- GridViewUpdatedEventArgs.cs
- LockCookie.cs
- CatalogZone.cs
- DataGridCell.cs
- ColorConverter.cs
- EdmEntityTypeAttribute.cs
- TextEditorCopyPaste.cs
- XmlComplianceUtil.cs
- Thickness.cs
- ControlTemplate.cs
- StyleBamlRecordReader.cs