Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Text / SurrogateChar.cs / 1305376 / SurrogateChar.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.Text { using System.Globalization; using System.Runtime.Serialization; // Just for SR struct SurrogateChar { char lowChar; char highChar; public const int MinValue = 0x10000; public const int MaxValue = MinValue + (1 << 20) - 1; const char surHighMin = (char) 0xd800; const char surHighMax = (char) 0xdbff; const char surLowMin = (char) 0xdc00; const char surLowMax = (char) 0xdfff; public SurrogateChar(int ch) { if (ch < MinValue || ch > MaxValue) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.XmlInvalidSurrogate, ch.ToString("X", CultureInfo.InvariantCulture)), "ch")); const int mask = ((1 << 10) - 1); this.lowChar = (char) (((ch - MinValue) & mask) + surLowMin); this.highChar = (char) ((((ch - MinValue) >> 10) & mask) + surHighMin); } public SurrogateChar(char lowChar, char highChar) { if (lowChar < surLowMin || lowChar > surLowMax) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.XmlInvalidLowSurrogate, ((int)lowChar).ToString("X", CultureInfo.InvariantCulture)), "lowChar")); if (highChar < surHighMin || highChar > surHighMax) throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentException(SR.GetString(SR.XmlInvalidHighSurrogate, ((int)highChar).ToString("X", CultureInfo.InvariantCulture)), "highChar")); this.lowChar = lowChar; this.highChar = highChar; } public char LowChar { get { return lowChar; } } public char HighChar { get { return highChar; } } public int Char { get { return (lowChar - surLowMin) | ((highChar - surHighMin) << 10) + MinValue; } } } } // 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
- X509ImageLogo.cs
- SqlFunctionAttribute.cs
- DeviceSpecific.cs
- XmlCharType.cs
- AssemblyInfo.cs
- SoapEnumAttribute.cs
- ObjectSet.cs
- RemoteWebConfigurationHostStream.cs
- ListViewInsertedEventArgs.cs
- XmlLoader.cs
- AuthorizationSection.cs
- CollectionConverter.cs
- ThicknessConverter.cs
- TextEditorCharacters.cs
- RankException.cs
- ServicesExceptionNotHandledEventArgs.cs
- BuildManagerHost.cs
- SecurityTokenResolver.cs
- UrlParameterWriter.cs
- DataGridViewRowCollection.cs
- DBCommandBuilder.cs
- QueryStack.cs
- ObjectCloneHelper.cs
- RequestUriProcessor.cs
- ColorEditor.cs
- StateValidator.cs
- Window.cs
- FileDataSourceCache.cs
- XmlRootAttribute.cs
- DCSafeHandle.cs
- StylusPointPropertyUnit.cs
- TimeStampChecker.cs
- ScriptingProfileServiceSection.cs
- UnsafeNativeMethods.cs
- CopyNamespacesAction.cs
- ProtocolsConfigurationHandler.cs
- SizeIndependentAnimationStorage.cs
- XmlDocumentType.cs
- TableProviderWrapper.cs
- TextBoxDesigner.cs
- Ref.cs
- Helpers.cs
- IdleTimeoutMonitor.cs
- OptionUsage.cs
- ResourceDescriptionAttribute.cs
- SdlChannelSink.cs
- Compiler.cs
- GridViewRowCollection.cs
- TrackingRecord.cs
- XmlSignatureManifest.cs
- DefaultTextStore.cs
- MLangCodePageEncoding.cs
- MouseButton.cs
- CompressEmulationStream.cs
- Message.cs
- TemplateManager.cs
- SignatureDescription.cs
- WebPartExportVerb.cs
- TransformedBitmap.cs
- SelectedDatesCollection.cs
- SystemIPv6InterfaceProperties.cs
- Win32.cs
- LinkGrep.cs
- BufferedReceiveElement.cs
- DbInsertCommandTree.cs
- SafeNativeMethodsOther.cs
- AlignmentXValidation.cs
- InstanceValue.cs
- SHA256.cs
- CodeEventReferenceExpression.cs
- RemotingSurrogateSelector.cs
- MenuScrollingVisibilityConverter.cs
- VideoDrawing.cs
- ServiceModelActivationSectionGroup.cs
- MULTI_QI.cs
- MatrixAnimationBase.cs
- RtfControls.cs
- FontCacheLogic.cs
- OpenTypeLayoutCache.cs
- DeviceContext2.cs
- WebPartRestoreVerb.cs
- WorkflowElementDialog.cs
- EntityStoreSchemaGenerator.cs
- DocumentViewerBase.cs
- MemberDescriptor.cs
- dbenumerator.cs
- HttpPostProtocolReflector.cs
- GenericsInstances.cs
- FormsAuthenticationTicket.cs
- hresults.cs
- SequentialWorkflowHeaderFooter.cs
- PackagePartCollection.cs
- StylusPointPropertyId.cs
- Collection.cs
- NonClientArea.cs
- DiscoveryMessageSequenceGenerator.cs
- Trace.cs
- DetailsViewCommandEventArgs.cs
- HScrollBar.cs
- AtomServiceDocumentSerializer.cs