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
- CollaborationHelperFunctions.cs
- DrawingContextDrawingContextWalker.cs
- ContextTokenTypeConverter.cs
- FileAuthorizationModule.cs
- SqlServices.cs
- PtsHelper.cs
- UdpSocket.cs
- HttpGetProtocolReflector.cs
- DbUpdateCommandTree.cs
- UserPreferenceChangingEventArgs.cs
- SeekStoryboard.cs
- RowVisual.cs
- AssemblyBuilderData.cs
- EpmSyndicationContentDeSerializer.cs
- XmlAttributes.cs
- Compensate.cs
- XmlChildEnumerator.cs
- DSASignatureDeformatter.cs
- PackWebRequestFactory.cs
- DefaultObjectMappingItemCollection.cs
- IsolationInterop.cs
- HttpVersion.cs
- ImmutableCommunicationTimeouts.cs
- DesignerActionVerbList.cs
- SQLRoleProvider.cs
- CodeDelegateCreateExpression.cs
- XmlSchemaSimpleContentRestriction.cs
- FactoryMaker.cs
- DbConnectionOptions.cs
- Pen.cs
- AuthenticationService.cs
- DataSourceCache.cs
- SafeNativeMethodsCLR.cs
- WSDualHttpBinding.cs
- XmlExpressionDumper.cs
- TableLayout.cs
- DataGridDetailsPresenterAutomationPeer.cs
- ThreadStateException.cs
- XPathQilFactory.cs
- AddInContractAttribute.cs
- DecoratedNameAttribute.cs
- ISAPIRuntime.cs
- HttpCookie.cs
- PanelDesigner.cs
- BmpBitmapEncoder.cs
- CodePropertyReferenceExpression.cs
- ValidationEventArgs.cs
- SelectingProviderEventArgs.cs
- AsyncCompletedEventArgs.cs
- TableCellCollection.cs
- CodeDomDesignerLoader.cs
- WSFederationHttpBindingElement.cs
- ExpressionVisitor.cs
- MaterializeFromAtom.cs
- ClassHandlersStore.cs
- bidPrivateBase.cs
- ObjectSpanRewriter.cs
- _TransmitFileOverlappedAsyncResult.cs
- OdbcDataReader.cs
- DataFormat.cs
- ErrorWrapper.cs
- TextRenderer.cs
- Messages.cs
- HeaderUtility.cs
- JapaneseCalendar.cs
- QueryExpr.cs
- Matrix3DValueSerializer.cs
- Effect.cs
- TimeManager.cs
- SelfIssuedAuthAsymmetricKey.cs
- WebControlsSection.cs
- EllipseGeometry.cs
- SerializerDescriptor.cs
- ProfileManager.cs
- PopOutPanel.cs
- _DigestClient.cs
- TextBox.cs
- TextDocumentView.cs
- CompiledQueryCacheKey.cs
- SingleSelectRootGridEntry.cs
- CapiSafeHandles.cs
- AstNode.cs
- NotificationContext.cs
- SqlMethodTransformer.cs
- FontEmbeddingManager.cs
- ReachSerializationUtils.cs
- TimersDescriptionAttribute.cs
- MediaElementAutomationPeer.cs
- VirtualPathProvider.cs
- FlowDocumentPage.cs
- SmtpException.cs
- Formatter.cs
- AdRotatorDesigner.cs
- CssStyleCollection.cs
- ManagementNamedValueCollection.cs
- EntitySetRetriever.cs
- DbDataAdapter.cs
- ErrorFormatterPage.cs
- TrackingExtract.cs
- SafeLocalAllocation.cs