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
- MemberPathMap.cs
- Triplet.cs
- SafeCertificateContext.cs
- ContainerControl.cs
- TableRow.cs
- StickyNoteHelper.cs
- XmlDocumentType.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- DashStyle.cs
- XmlSchemaCollection.cs
- PaintValueEventArgs.cs
- MetaDataInfo.cs
- StickyNoteAnnotations.cs
- WebControl.cs
- Mutex.cs
- PrincipalPermission.cs
- TypeInfo.cs
- WebPartEditorApplyVerb.cs
- PassportIdentity.cs
- SqlCommandSet.cs
- HyperLinkField.cs
- BindingCompleteEventArgs.cs
- ButtonChrome.cs
- Sentence.cs
- SqlNotificationEventArgs.cs
- RegistrationServices.cs
- RegexWorker.cs
- CodeAttributeDeclaration.cs
- ListViewDataItem.cs
- DispatcherProcessingDisabled.cs
- ScriptResourceHandler.cs
- ComAdminWrapper.cs
- InvalidProgramException.cs
- TypeUtils.cs
- DateTimeConverter.cs
- MessageFormatterConverter.cs
- PartialCachingControl.cs
- NetMsmqSecurity.cs
- XmlFormatExtensionAttribute.cs
- OleDbSchemaGuid.cs
- CookieProtection.cs
- XslNumber.cs
- NameValueSectionHandler.cs
- FixedSOMGroup.cs
- RoutedEventHandlerInfo.cs
- GenericAuthenticationEventArgs.cs
- ControlAdapter.cs
- CodeCompiler.cs
- SoapHeaderAttribute.cs
- StructuredTypeInfo.cs
- GetLedgerRequest.cs
- XmlBinaryReader.cs
- TextLineBreak.cs
- UrlPropertyAttribute.cs
- BooleanStorage.cs
- CompareValidator.cs
- SafeBitVector32.cs
- MenuItemStyle.cs
- ResourcesBuildProvider.cs
- EntityKey.cs
- CultureInfoConverter.cs
- DataGridColumnHeaderAutomationPeer.cs
- Parameter.cs
- XmlImplementation.cs
- ByteStreamMessageEncoder.cs
- CfgParser.cs
- MappedMetaModel.cs
- ToolStripDropTargetManager.cs
- WindowsFormsHelpers.cs
- MemberRelationshipService.cs
- AuthenticationSection.cs
- DefaultBindingPropertyAttribute.cs
- HostingPreferredMapPath.cs
- WebPart.cs
- StorageTypeMapping.cs
- TextBox.cs
- CompositeDispatchFormatter.cs
- HistoryEventArgs.cs
- NegotiateStream.cs
- ThousandthOfEmRealDoubles.cs
- NetworkCredential.cs
- IsolatedStorageFileStream.cs
- ConfigurationElement.cs
- NativeMethodsOther.cs
- WebPartAuthorizationEventArgs.cs
- PassportPrincipal.cs
- ParentQuery.cs
- NetNamedPipeSecurity.cs
- ProcessHostFactoryHelper.cs
- BinaryWriter.cs
- PriorityItem.cs
- BamlRecordWriter.cs
- SafeEventLogWriteHandle.cs
- FlowDocumentPaginator.cs
- CompatibleComparer.cs
- WindowInteropHelper.cs
- PointKeyFrameCollection.cs
- ClipboardData.cs
- ObjectContext.cs
- SafeUserTokenHandle.cs