Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / TrustUi / MS / Internal / documents / Application / AddressUtility.cs / 1 / AddressUtility.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: // A collection of utility functions for dealing with e-mail address // strings and Uri objects. // // History: // 10/26/05 - [....] created // //--------------------------------------------------------------------------- using System; using System.Globalization; using System.Text.RegularExpressions; using MS.Internal.WindowsBase; namespace MS.Internal.Documents { ////// A collection of utility functions for dealing with e-mail address /// strings and Uri objects. /// internal static class AddressUtility { #region Internal Methods //----------------------------------------------------- // Internal Methods //----------------------------------------------------- ////// Checks if the scheme of the URI given is of the mailto scheme. /// /// The URI to check ///Whether or not it is a mailto URI internal static bool IsMailtoUri(Uri mailtoUri) { if (mailtoUri != null) { return SecurityHelper.AreStringTypesEqual( mailtoUri.Scheme, Uri.UriSchemeMailto); } return false; } ////// Gets the e-mail address from the URI given. /// /// The URI ///The e-mail address internal static string GetEmailAddressFromMailtoUri(Uri mailtoUri) { string address = string.Empty; // Ensure it is a mailto: scheme URI if (IsMailtoUri(mailtoUri)) { // Create the address from the URI address = string.Format( CultureInfo.CurrentCulture, _addressTemplate, mailtoUri.GetComponents(UriComponents.UserInfo, UriFormat.Unescaped), mailtoUri.GetComponents(UriComponents.Host, UriFormat.Unescaped)); } return address; } ////// Generate a mailto: URI from the e-mail address given as an /// argument. /// /// The address to generate a URI from ///The generated URI internal static Uri GenerateMailtoUri(string address) { // Add the scheme to the e-mail address to form a URI object if (!string.IsNullOrEmpty(address)) { return new Uri(string.Format( CultureInfo.CurrentCulture, _mailtoUriTemplate, Uri.UriSchemeMailto, _mailtoSchemeDelimiter, address)); } return null; } #endregion Internal Methods #region Private Fields //-------------------------------------------------------------------------- // Private Fields //------------------------------------------------------------------------- ////// The template for an e-mail address with a user name and a host. /// private const string _addressTemplate = "{0}@{1}"; ////// The template for a mailto scheme URI with the mailto scheme and an /// address. /// private const string _mailtoUriTemplate = "{0}{1}{2}"; ////// The delimiter between the scheme and the address in a mailto URI. /// We unfortunately cannot use the Uri class SchemeDelimiter because /// it is by default set to "://", which makes mailto: URIs generated /// look like "mailto://user@host", whicn in turn cannot be parsed /// properly by this class. /// private const string _mailtoSchemeDelimiter = ":"; #endregion Private Fields } } // 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
- Item.cs
- TTSVoice.cs
- DesignTimeVisibleAttribute.cs
- MenuItemBinding.cs
- MobileListItem.cs
- SystemParameters.cs
- _SSPIWrapper.cs
- FirstQueryOperator.cs
- XmlUtil.cs
- MessageSecurityException.cs
- AudioLevelUpdatedEventArgs.cs
- CustomErrorsSection.cs
- Int32RectConverter.cs
- PrintPreviewDialog.cs
- PowerModeChangedEventArgs.cs
- HtmlInputPassword.cs
- PowerStatus.cs
- CacheOutputQuery.cs
- DynamicPropertyHolder.cs
- NgenServicingAttributes.cs
- FunctionImportMapping.cs
- OSFeature.cs
- TextEffect.cs
- TileModeValidation.cs
- ToolStripHighContrastRenderer.cs
- CommandHelper.cs
- FileUtil.cs
- DigestTraceRecordHelper.cs
- DrawingContextWalker.cs
- PathFigure.cs
- ExtenderControl.cs
- HtmlTextArea.cs
- handlecollector.cs
- DefaultTraceListener.cs
- WebPartMenu.cs
- RequestSecurityTokenResponse.cs
- StructuredTypeEmitter.cs
- XmlElement.cs
- DataKey.cs
- DataExpression.cs
- Point4DConverter.cs
- WindowsRebar.cs
- ObjectItemCollection.cs
- NavigationHelper.cs
- XmlWriterSettings.cs
- SqlColumnizer.cs
- HtmlListAdapter.cs
- GridEntry.cs
- HostedHttpContext.cs
- PieceNameHelper.cs
- EraserBehavior.cs
- PropertyInfoSet.cs
- RegexMatchCollection.cs
- BitmapEffectInputData.cs
- SdlChannelSink.cs
- WebPartEditorOkVerb.cs
- AliasedSlot.cs
- SafeArrayTypeMismatchException.cs
- EndpointBehaviorElement.cs
- MexHttpsBindingCollectionElement.cs
- ValidatingCollection.cs
- Registry.cs
- XmlLoader.cs
- UnsafeNativeMethodsPenimc.cs
- SimpleType.cs
- Privilege.cs
- SmtpException.cs
- TypeBuilderInstantiation.cs
- ExpressionHelper.cs
- AssemblyEvidenceFactory.cs
- TransformGroup.cs
- Activity.cs
- NamedPipeProcessProtocolHandler.cs
- ListViewGroupConverter.cs
- httpapplicationstate.cs
- SqlMethodAttribute.cs
- UIElement3DAutomationPeer.cs
- WebHostScriptMappingsInstallComponent.cs
- NegotiateStream.cs
- RequestTimeoutManager.cs
- BrowserCapabilitiesCompiler.cs
- PolyLineSegment.cs
- UserNameSecurityTokenParameters.cs
- SystemColorTracker.cs
- CharAnimationUsingKeyFrames.cs
- SuppressMessageAttribute.cs
- ClientCredentialsSecurityTokenManager.cs
- EllipticalNodeOperations.cs
- RepeaterItemEventArgs.cs
- FragmentQueryProcessor.cs
- XmlDataCollection.cs
- TextDecorationCollection.cs
- _CookieModule.cs
- FieldAccessException.cs
- DirectoryLocalQuery.cs
- Repeater.cs
- WhereQueryOperator.cs
- FullTextBreakpoint.cs
- CheckBoxList.cs
- Control.cs