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
- BitmapEffect.cs
- GridToolTip.cs
- Helpers.cs
- FileUpload.cs
- Signature.cs
- IdentityReference.cs
- ArrayMergeHelper.cs
- MobileSysDescriptionAttribute.cs
- WindowsSysHeader.cs
- HoistedLocals.cs
- SqlClientWrapperSmiStream.cs
- WindowsGraphicsCacheManager.cs
- ListBoxItemAutomationPeer.cs
- ExportOptions.cs
- PtsHost.cs
- DataControlFieldsEditor.cs
- PropertyIdentifier.cs
- SslStreamSecurityElement.cs
- Timer.cs
- EditorBrowsableAttribute.cs
- GrammarBuilderRuleRef.cs
- PagesChangedEventArgs.cs
- SQLSingleStorage.cs
- HWStack.cs
- TemplateField.cs
- SynchronizedInputHelper.cs
- TextOptionsInternal.cs
- XmlEnumAttribute.cs
- Crc32Helper.cs
- DataBinding.cs
- HtmlElementCollection.cs
- JsonWriterDelegator.cs
- GenericWebPart.cs
- SqlCommand.cs
- KeyValueSerializer.cs
- WindowVisualStateTracker.cs
- DataGridPreparingCellForEditEventArgs.cs
- Win32SafeHandles.cs
- ParameterModifier.cs
- ModelItemExtensions.cs
- LogicalExpr.cs
- PanelStyle.cs
- _CacheStreams.cs
- HitTestResult.cs
- ServiceBuildProvider.cs
- HttpWebRequestElement.cs
- BCLDebug.cs
- QilXmlReader.cs
- _UriSyntax.cs
- Int64.cs
- DataServiceHost.cs
- ToolStripButton.cs
- CapacityStreamGeometryContext.cs
- TextEndOfSegment.cs
- Part.cs
- CustomAssemblyResolver.cs
- storagemappingitemcollection.viewdictionary.cs
- JsonCollectionDataContract.cs
- MenuItem.cs
- GestureRecognizer.cs
- DesignerVerb.cs
- ProjectionPlanCompiler.cs
- ObjectViewQueryResultData.cs
- ExceptionValidationRule.cs
- PropertyChangingEventArgs.cs
- SqlFacetAttribute.cs
- ScriptModule.cs
- XPathNodeIterator.cs
- MemoryFailPoint.cs
- RestrictedTransactionalPackage.cs
- DesignTimeHTMLTextWriter.cs
- XmlSignatureProperties.cs
- Validator.cs
- SizeConverter.cs
- querybuilder.cs
- UnmanagedBitmapWrapper.cs
- XPathDocumentIterator.cs
- ManipulationDevice.cs
- DateTimeFormat.cs
- MenuAutoFormat.cs
- ContainerCodeDomSerializer.cs
- Form.cs
- DiscreteKeyFrames.cs
- Identifier.cs
- CompensateDesigner.cs
- InternalConfigSettingsFactory.cs
- PropertyDescriptorComparer.cs
- DbgUtil.cs
- Latin1Encoding.cs
- HostingEnvironmentException.cs
- FtpWebResponse.cs
- BrowserTree.cs
- PopupEventArgs.cs
- HighlightVisual.cs
- StorageEndPropertyMapping.cs
- PropertyState.cs
- WindowsToolbarItemAsMenuItem.cs
- PrinterSettings.cs
- SqlException.cs
- SQLRoleProvider.cs