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
- CommonObjectSecurity.cs
- PropertySourceInfo.cs
- WorkflowOperationFault.cs
- ErrorWebPart.cs
- HandlerMappingMemo.cs
- Itemizer.cs
- DesignerVerb.cs
- ValidationRule.cs
- DbConnectionPool.cs
- XamlBrushSerializer.cs
- BitmapEffect.cs
- SmtpFailedRecipientsException.cs
- TableLayoutStyleCollection.cs
- PeerTransportListenAddressValidatorAttribute.cs
- ConfigurationManagerInternalFactory.cs
- DateTimeOffsetStorage.cs
- HtmlContainerControl.cs
- XmlSchemaObject.cs
- LogicalExpr.cs
- SynchronizedDispatch.cs
- ChannelSinkStacks.cs
- xmlsaver.cs
- MarginsConverter.cs
- ExpressionBinding.cs
- StyleSheetComponentEditor.cs
- DataGridViewAdvancedBorderStyle.cs
- WindowsFormsHelpers.cs
- UIHelper.cs
- UnicodeEncoding.cs
- DataQuery.cs
- SmiContext.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- ADMembershipUser.cs
- Model3D.cs
- BitmapDecoder.cs
- TransactionInterop.cs
- Pointer.cs
- ActivityValidator.cs
- PasswordDeriveBytes.cs
- UnknownWrapper.cs
- HelpInfo.cs
- FixUp.cs
- HyperlinkAutomationPeer.cs
- LayoutDump.cs
- WebPartHelpVerb.cs
- TraceUtility.cs
- FileRecordSequenceCompletedAsyncResult.cs
- BindingSource.cs
- AutomationTextAttribute.cs
- ArgumentException.cs
- PackageProperties.cs
- InfoCardRequestException.cs
- RuleRef.cs
- SymbolMethod.cs
- TemplateKey.cs
- LogicalExpr.cs
- RefreshPropertiesAttribute.cs
- mil_sdk_version.cs
- HuffCodec.cs
- DataControlReference.cs
- FusionWrap.cs
- DynamicILGenerator.cs
- DataBinding.cs
- CryptoApi.cs
- GridSplitterAutomationPeer.cs
- BaseResourcesBuildProvider.cs
- ProgressBarRenderer.cs
- FakeModelPropertyImpl.cs
- unsafeIndexingFilterStream.cs
- BamlLocalizationDictionary.cs
- CodeTypeOfExpression.cs
- ArrayTypeMismatchException.cs
- ColumnReorderedEventArgs.cs
- HelloOperationCD1AsyncResult.cs
- DelegateHelpers.cs
- CounterSampleCalculator.cs
- DesignerValidatorAdapter.cs
- AssignDesigner.xaml.cs
- ColorAnimationBase.cs
- SqlAggregateChecker.cs
- securitycriticaldataformultiplegetandset.cs
- StaticContext.cs
- SettingsPropertyValue.cs
- DisableDpiAwarenessAttribute.cs
- SoapServerMessage.cs
- CodeSnippetTypeMember.cs
- DetailsViewUpdateEventArgs.cs
- NumericUpDownAccelerationCollection.cs
- DrawingContextWalker.cs
- GridToolTip.cs
- SetStateEventArgs.cs
- EntityDataSourceDesigner.cs
- MetadataUtil.cs
- PersonalizationStateQuery.cs
- Span.cs
- Base64Stream.cs
- AxisAngleRotation3D.cs
- ToolStripDropDownMenu.cs
- ProcessHostConfigUtils.cs
- GPStream.cs