Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Text / DecoderExceptionFallback.cs / 1305376 / DecoderExceptionFallback.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // DecoderExceptionFallback.cs // namespace System.Text { using System; using System.Runtime.Serialization; using System.Globalization; [Serializable] public sealed class DecoderExceptionFallback : DecoderFallback { // Construction public DecoderExceptionFallback() { } public override DecoderFallbackBuffer CreateFallbackBuffer() { return new DecoderExceptionFallbackBuffer(); } // Maximum number of characters that this instance of this fallback could return public override int MaxCharCount { get { return 0; } } public override bool Equals(Object value) { DecoderExceptionFallback that = value as DecoderExceptionFallback; if (that != null) { return (true); } return (false); } public override int GetHashCode() { return 879; } } public sealed class DecoderExceptionFallbackBuffer : DecoderFallbackBuffer { public override bool Fallback(byte[] bytesUnknown, int index) { Throw(bytesUnknown, index); return true; } public override char GetNextChar() { return (char)0; } public override bool MovePrevious() { // Exception fallback doesn't have anywhere to back up to. return false; } // Exceptions are always empty public override int Remaining { get { return 0; } } private void Throw(byte[] bytesUnknown, int index) { // Create a string representation of our bytes. StringBuilder strBytes = new StringBuilder(bytesUnknown.Length * 3); int i; for (i = 0; i < bytesUnknown.Length && i < 20; i++) { strBytes.Append("["); strBytes.Append(bytesUnknown[i].ToString("X2", CultureInfo.InvariantCulture)); strBytes.Append("]"); } // In case the string's really long if (i == 20) strBytes.Append(" ..."); // Known index throw new DecoderFallbackException( Environment.GetResourceString("Argument_InvalidCodePageBytesIndex", strBytes, index), bytesUnknown, index); } } // Exception for decoding unknown byte sequences. [Serializable] public sealed class DecoderFallbackException : ArgumentException { byte[] bytesUnknown = null; int index = 0; public DecoderFallbackException() : base(Environment.GetResourceString("Arg_ArgumentException")) { SetErrorCode(__HResults.COR_E_ARGUMENT); } public DecoderFallbackException(String message) : base(message) { SetErrorCode(__HResults.COR_E_ARGUMENT); } public DecoderFallbackException(String message, Exception innerException) : base(message, innerException) { SetErrorCode(__HResults.COR_E_ARGUMENT); } internal DecoderFallbackException(SerializationInfo info, StreamingContext context) : base(info, context) { } public DecoderFallbackException( String message, byte[] bytesUnknown, int index) : base(message) { this.bytesUnknown = bytesUnknown; this.index = index; } public byte[] BytesUnknown { get { return (bytesUnknown); } } public int Index { get { return this.index; } } } } // 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
- SafeFileHandle.cs
- StorageEndPropertyMapping.cs
- DataColumnPropertyDescriptor.cs
- RequiredAttributeAttribute.cs
- DataServiceProcessingPipelineEventArgs.cs
- _Semaphore.cs
- HyperlinkAutomationPeer.cs
- Exceptions.cs
- XsltInput.cs
- DetailsViewPageEventArgs.cs
- TypeDescriptor.cs
- WebPartTransformerCollection.cs
- SymLanguageType.cs
- ComponentEditorPage.cs
- Certificate.cs
- ZipIOCentralDirectoryFileHeader.cs
- MenuCommand.cs
- SynchronizedDispatch.cs
- SafeSecurityHandles.cs
- ControlPropertyNameConverter.cs
- SspiHelper.cs
- DeviceFilterEditorDialog.cs
- ConstraintConverter.cs
- XPathDocumentBuilder.cs
- JsonEncodingStreamWrapper.cs
- Attributes.cs
- ResourceDescriptionAttribute.cs
- WebPartDisplayModeEventArgs.cs
- AssemblyBuilderData.cs
- ConfigsHelper.cs
- TextTreeDeleteContentUndoUnit.cs
- ContextMenu.cs
- PathSegment.cs
- ExtendedPropertyCollection.cs
- ControlPropertyNameConverter.cs
- JulianCalendar.cs
- SynchronousChannel.cs
- HttpContextServiceHost.cs
- ResponseBodyWriter.cs
- SoapSchemaExporter.cs
- FontWeights.cs
- NavigatingCancelEventArgs.cs
- CommandManager.cs
- Deflater.cs
- XmlLangPropertyAttribute.cs
- XPathPatternParser.cs
- BlockExpression.cs
- CollectionsUtil.cs
- LayoutTable.cs
- QueryCursorEventArgs.cs
- XmlnsDictionary.cs
- WebService.cs
- ChtmlFormAdapter.cs
- HMACSHA512.cs
- ContentTextAutomationPeer.cs
- RoutedEventValueSerializer.cs
- ComAdminWrapper.cs
- SqlRecordBuffer.cs
- TransactionChannelListener.cs
- ErrorWrapper.cs
- SubstitutionDesigner.cs
- StrictAndMessageFilter.cs
- PackageProperties.cs
- QuaternionRotation3D.cs
- BitmapEffectInput.cs
- ObjectDataSourceDesigner.cs
- FixedSOMPageElement.cs
- CodeEntryPointMethod.cs
- ClrPerspective.cs
- SqlDependencyListener.cs
- IndexedSelectQueryOperator.cs
- SafePointer.cs
- MailAddressCollection.cs
- ExecutionEngineException.cs
- SqlRemoveConstantOrderBy.cs
- Camera.cs
- DefaultSettingsSection.cs
- XmlSchemaSimpleContent.cs
- OleCmdHelper.cs
- BitmapEffectDrawingContent.cs
- GroupLabel.cs
- AssemblyAttributes.cs
- CheckBoxField.cs
- StringTraceRecord.cs
- sitestring.cs
- Input.cs
- PagesSection.cs
- ConnectionManagementElement.cs
- HorizontalAlignConverter.cs
- URLString.cs
- StringStorage.cs
- ListManagerBindingsCollection.cs
- OleDbErrorCollection.cs
- TagPrefixInfo.cs
- TextMarkerSource.cs
- DescendantBaseQuery.cs
- DetailsViewCommandEventArgs.cs
- NavigationExpr.cs
- CodeTypeReference.cs
- FileAuthorizationModule.cs