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
- TypeBrowserDialog.cs
- CommandEventArgs.cs
- IntSecurity.cs
- Assembly.cs
- StreamWriter.cs
- LocationUpdates.cs
- SqlUdtInfo.cs
- ButtonDesigner.cs
- EmbossBitmapEffect.cs
- ZipArchive.cs
- WizardForm.cs
- CompilationLock.cs
- SemanticBasicElement.cs
- AsyncOperationManager.cs
- SortDescriptionCollection.cs
- ReachIDocumentPaginatorSerializerAsync.cs
- RsaSecurityTokenAuthenticator.cs
- SqlConnectionHelper.cs
- WindowVisualStateTracker.cs
- WrapPanel.cs
- RolePrincipal.cs
- DrawingBrush.cs
- UserUseLicenseDictionaryLoader.cs
- dsa.cs
- WindowsListViewScroll.cs
- SubpageParagraph.cs
- SimpleBitVector32.cs
- TypeInitializationException.cs
- TreeNodeCollection.cs
- WindowsButton.cs
- DataSourceXmlTextReader.cs
- StylusLogic.cs
- RecordBuilder.cs
- TogglePattern.cs
- UriTemplateQueryValue.cs
- CollectionConverter.cs
- EntityRecordInfo.cs
- RewritingValidator.cs
- SelectionEditingBehavior.cs
- PassportAuthenticationModule.cs
- SoapSchemaMember.cs
- Operator.cs
- Evidence.cs
- ReflectPropertyDescriptor.cs
- Button.cs
- ClientSideQueueItem.cs
- XhtmlBasicListAdapter.cs
- DockPattern.cs
- SourceSwitch.cs
- Module.cs
- CryptoApi.cs
- EpmHelper.cs
- serverconfig.cs
- InvalidPropValue.cs
- IChannel.cs
- CompilerResults.cs
- PrivilegeNotHeldException.cs
- DbConnectionOptions.cs
- CompositeCollection.cs
- GradientPanel.cs
- CodeSubDirectory.cs
- XmlSchemaObjectTable.cs
- GPStream.cs
- HMACRIPEMD160.cs
- TimerEventSubscription.cs
- HttpCacheParams.cs
- NetworkCredential.cs
- ReadOnlyPropertyMetadata.cs
- SafeThreadHandle.cs
- DesignerForm.cs
- DetailsViewUpdateEventArgs.cs
- ShaderEffect.cs
- AddInAdapter.cs
- HttpAsyncResult.cs
- CustomMenuItemCollection.cs
- ConfigurationSectionCollection.cs
- ProviderConnectionPoint.cs
- ColumnMapProcessor.cs
- peernodeimplementation.cs
- MailDefinition.cs
- TypeUtils.cs
- ObjectDataSource.cs
- RSAOAEPKeyExchangeDeformatter.cs
- EventLogLink.cs
- EventLogEntryCollection.cs
- WinFormsSecurity.cs
- TypeSystem.cs
- TimelineGroup.cs
- AttributeCollection.cs
- EventLogPermissionAttribute.cs
- LogSwitch.cs
- LogManagementAsyncResult.cs
- WindowsAuthenticationEventArgs.cs
- PropertyChangeTracker.cs
- IISUnsafeMethods.cs
- ChangePassword.cs
- LinkedDataMemberFieldEditor.cs
- QilReplaceVisitor.cs
- _BasicClient.cs
- X509ClientCertificateAuthenticationElement.cs