Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Text / EncoderBestFitFallback.cs / 1305376 / EncoderBestFitFallback.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // EncoderBestFitFallback.cs // // This is used internally to create best fit behavior as per the original windows best fit behavior. // namespace System.Text { using System; using System.Globalization; using System.Text; using System.Threading; using System.Diagnostics.Contracts; [Serializable] internal class InternalEncoderBestFitFallback : EncoderFallback { // Our variables internal Encoding encoding = null; internal char[] arrayBestFit = null; internal InternalEncoderBestFitFallback(Encoding encoding) { // Need to load our replacement characters table. this.encoding = encoding; this.bIsMicrosoftBestFitFallback = true; } public override EncoderFallbackBuffer CreateFallbackBuffer() { return new InternalEncoderBestFitFallbackBuffer(this); } // Maximum number of characters that this instance of this fallback could return public override int MaxCharCount { get { return 1; } } public override bool Equals(Object value) { InternalEncoderBestFitFallback that = value as InternalEncoderBestFitFallback; if (that != null) { return (this.encoding.CodePage == that.encoding.CodePage); } return (false); } public override int GetHashCode() { return this.encoding.CodePage; } } internal sealed class InternalEncoderBestFitFallbackBuffer : EncoderFallbackBuffer { // Our variables private char cBestFit = '\0'; private InternalEncoderBestFitFallback oFallback; private int iCount = -1; private int iSize; // Private object for locking instead of locking on a public type for SQL reliability work. private static Object s_InternalSyncObject; private static Object InternalSyncObject { get { if (s_InternalSyncObject == null) { Object o = new Object(); Interlocked.CompareExchange
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ContextDataSourceView.cs
- AnnotationStore.cs
- GridViewAutomationPeer.cs
- CodeMemberMethod.cs
- OdbcCommand.cs
- LingerOption.cs
- SqlProviderUtilities.cs
- DataGridViewAutoSizeModeEventArgs.cs
- ClosableStream.cs
- SqlNodeTypeOperators.cs
- X509Utils.cs
- HtmlInputRadioButton.cs
- WebAdminConfigurationHelper.cs
- CodeTypeParameter.cs
- ConfigsHelper.cs
- GlyphInfoList.cs
- TextRunCacheImp.cs
- SqlDataAdapter.cs
- FileLogRecord.cs
- ArgumentOutOfRangeException.cs
- XmlDataSourceNodeDescriptor.cs
- ProtocolsConfigurationEntry.cs
- StandardRuntimeEnumValidator.cs
- Guid.cs
- Accessible.cs
- BinaryWriter.cs
- SqlError.cs
- FilePrompt.cs
- XmlSubtreeReader.cs
- CredentialSelector.cs
- OleDbRowUpdatingEvent.cs
- WithStatement.cs
- FlowchartStart.xaml.cs
- SqlBuffer.cs
- _NestedMultipleAsyncResult.cs
- errorpatternmatcher.cs
- DeobfuscatingStream.cs
- FormView.cs
- CultureTable.cs
- EndPoint.cs
- StructuredTypeInfo.cs
- JsonStringDataContract.cs
- BuildDependencySet.cs
- AsyncSerializedWorker.cs
- KeyFrames.cs
- RoutedCommand.cs
- NoPersistHandle.cs
- BufferBuilder.cs
- AudioLevelUpdatedEventArgs.cs
- DateTimeConstantAttribute.cs
- TransformerInfoCollection.cs
- OutOfMemoryException.cs
- PeerChannelListener.cs
- UnsafeNativeMethods.cs
- RecordManager.cs
- ColumnMapCopier.cs
- Codec.cs
- ObjectParameter.cs
- FormatterServicesNoSerializableCheck.cs
- Int64KeyFrameCollection.cs
- ClientUIRequest.cs
- DrawListViewItemEventArgs.cs
- ContentHostHelper.cs
- OleDbReferenceCollection.cs
- EndpointAddressElementBase.cs
- CatalogZoneDesigner.cs
- PartialCachingControl.cs
- IsolatedStorageFile.cs
- newinstructionaction.cs
- WaitForChangedResult.cs
- ValueType.cs
- TimeManager.cs
- MessageSmuggler.cs
- SystemIPv4InterfaceProperties.cs
- DoubleCollection.cs
- TreeNodeBindingCollection.cs
- FormatSelectingMessageInspector.cs
- OleDbError.cs
- odbcmetadatafactory.cs
- XmlIgnoreAttribute.cs
- TimeoutHelper.cs
- SmtpAuthenticationManager.cs
- WorkItem.cs
- TextEditorCharacters.cs
- BooleanExpr.cs
- ThreadStateException.cs
- SessionIDManager.cs
- Logging.cs
- GridItemPatternIdentifiers.cs
- SqlDataSourceCommandEventArgs.cs
- RoutedEventConverter.cs
- Rectangle.cs
- UIntPtr.cs
- VisualStates.cs
- MobileErrorInfo.cs
- WebBrowserEvent.cs
- FilteredAttributeCollection.cs
- CommandBindingCollection.cs
- QilXmlReader.cs
- CountAggregationOperator.cs