Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ // 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
- AsyncInvokeContext.cs
- DataGridViewCheckBoxColumn.cs
- Directory.cs
- XmlSchemaDatatype.cs
- BindingCollection.cs
- JoinTreeNode.cs
- BinaryFormatter.cs
- AbandonedMutexException.cs
- AppDomain.cs
- Util.cs
- ClaimTypeRequirement.cs
- TextServicesDisplayAttribute.cs
- ControlType.cs
- Contracts.cs
- RegexParser.cs
- DelegateArgumentValue.cs
- CategoryGridEntry.cs
- SendKeys.cs
- WriteTimeStream.cs
- TrackingServices.cs
- ListSourceHelper.cs
- SelectionItemPattern.cs
- Oid.cs
- ClientBuildManager.cs
- RenderingEventArgs.cs
- ComplexType.cs
- ToolZone.cs
- ResXFileRef.cs
- WebSysDefaultValueAttribute.cs
- ArrayMergeHelper.cs
- SyntaxCheck.cs
- BitmapVisualManager.cs
- XmlEventCache.cs
- DictionaryEntry.cs
- TimelineGroup.cs
- HttpCacheVaryByContentEncodings.cs
- DispatcherFrame.cs
- Window.cs
- RenderDataDrawingContext.cs
- validation.cs
- unsafeIndexingFilterStream.cs
- IdentityValidationException.cs
- XmlILIndex.cs
- GeometryDrawing.cs
- RawStylusInputCustomDataList.cs
- safePerfProviderHandle.cs
- XmlSerializerObjectSerializer.cs
- TreeNodeCollection.cs
- KeySplineConverter.cs
- WriterOutput.cs
- FileSystemInfo.cs
- ImportCatalogPart.cs
- MergeFailedEvent.cs
- EnlistmentState.cs
- OutputScope.cs
- Freezable.cs
- SqlDataSourceSelectingEventArgs.cs
- State.cs
- Quad.cs
- GeometryDrawing.cs
- StructuralType.cs
- DataGridViewComboBoxEditingControl.cs
- XNodeSchemaApplier.cs
- PingOptions.cs
- DataControlImageButton.cs
- TokenBasedSet.cs
- QueryAsyncResult.cs
- TdsParserStateObject.cs
- Dump.cs
- WindowsContainer.cs
- CollectionDataContractAttribute.cs
- Internal.cs
- HttpProfileGroupBase.cs
- X509Chain.cs
- PreservationFileReader.cs
- DbMetaDataCollectionNames.cs
- CompilerResults.cs
- SoapFormatExtensions.cs
- DataColumnPropertyDescriptor.cs
- WhitespaceSignificantCollectionAttribute.cs
- CodeArgumentReferenceExpression.cs
- Guid.cs
- DateTimeConstantAttribute.cs
- SortDescriptionCollection.cs
- PersonalizationProviderCollection.cs
- DomainLiteralReader.cs
- CodeTypeMember.cs
- NumberFunctions.cs
- DependsOnAttribute.cs
- KeyValueConfigurationCollection.cs
- HttpClientCredentialType.cs
- TextLine.cs
- TypeEnumerableViewSchema.cs
- EnvelopedPkcs7.cs
- DefaultEvaluationContext.cs
- TimersDescriptionAttribute.cs
- Privilege.cs
- QueueProcessor.cs
- MergeFilterQuery.cs
- TextBox.cs