Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / Serialization / System / Text / SurrogateChar.cs / 1 / 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. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Crypto.cs
- XmlHelper.cs
- SimpleFieldTemplateFactory.cs
- RestClientProxyHandler.cs
- ReadOnlyDataSourceView.cs
- PasswordBoxAutomationPeer.cs
- ComplexLine.cs
- AnnouncementService.cs
- ModelTreeEnumerator.cs
- Menu.cs
- StorageSetMapping.cs
- OptimalTextSource.cs
- RawStylusActions.cs
- Emitter.cs
- CollectionChangeEventArgs.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- RoleGroup.cs
- WpfXamlMember.cs
- FolderLevelBuildProvider.cs
- SystemNetHelpers.cs
- InstanceOwnerException.cs
- _IPv6Address.cs
- TrackingQueryElement.cs
- Queue.cs
- PrintPreviewGraphics.cs
- RijndaelManaged.cs
- Visitors.cs
- TabControl.cs
- StdRegProviderWrapper.cs
- ElementProxy.cs
- CompilerTypeWithParams.cs
- StreamReader.cs
- FrameworkElementFactory.cs
- ProcessThread.cs
- SqlParameter.cs
- DataTableNewRowEvent.cs
- MouseCaptureWithinProperty.cs
- NonClientArea.cs
- RenderData.cs
- DataTableReader.cs
- WindowsListView.cs
- Comparer.cs
- PKCS1MaskGenerationMethod.cs
- BamlRecordReader.cs
- ListMarkerLine.cs
- SrgsNameValueTag.cs
- RegularExpressionValidator.cs
- LineMetrics.cs
- PhonemeConverter.cs
- RootProfilePropertySettingsCollection.cs
- IndexerNameAttribute.cs
- CodeNamespaceCollection.cs
- EntitySetBase.cs
- ListViewSortEventArgs.cs
- SystemInfo.cs
- ControlAdapter.cs
- PingOptions.cs
- QueuePropertyVariants.cs
- Gdiplus.cs
- Overlapped.cs
- ArgumentValidation.cs
- CompilationRelaxations.cs
- TranslateTransform3D.cs
- DetailsViewPagerRow.cs
- MetabaseSettings.cs
- EditorPart.cs
- GetPageNumberCompletedEventArgs.cs
- BindingValueChangedEventArgs.cs
- AttributeExtensions.cs
- ColorContextHelper.cs
- DocumentViewerHelper.cs
- SQLGuidStorage.cs
- SubMenuStyleCollection.cs
- FrameworkPropertyMetadata.cs
- ContentControl.cs
- DataServiceHostFactory.cs
- XmlTextReader.cs
- FontFamily.cs
- UnknownBitmapEncoder.cs
- ToolboxDataAttribute.cs
- UidManager.cs
- HandlerBase.cs
- _DisconnectOverlappedAsyncResult.cs
- CompositeDispatchFormatter.cs
- HtmlFormAdapter.cs
- DNS.cs
- ImageFormat.cs
- ButtonBase.cs
- MemberAccessException.cs
- IISUnsafeMethods.cs
- CompilerScopeManager.cs
- SafeNativeMethods.cs
- CallbackValidator.cs
- ControlHelper.cs
- EntityCommandExecutionException.cs
- PersistChildrenAttribute.cs
- CodeDOMProvider.cs
- Expressions.cs
- XmlNodeChangedEventManager.cs
- OutOfProcStateClientManager.cs