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
- TextDecorationCollection.cs
- ClickablePoint.cs
- COM2ColorConverter.cs
- WebPartZoneCollection.cs
- DataServiceQueryOfT.cs
- AuthorizationSection.cs
- ConfigPathUtility.cs
- ExceptionValidationRule.cs
- __TransparentProxy.cs
- DbConnectionStringBuilder.cs
- TableParagraph.cs
- ToolStripDropDownItem.cs
- HttpRequestTraceRecord.cs
- BinaryWriter.cs
- LightweightCodeGenerator.cs
- Content.cs
- BinaryFormatter.cs
- BinaryObjectWriter.cs
- WebPermission.cs
- ErrorWebPart.cs
- FloatSumAggregationOperator.cs
- DeferredTextReference.cs
- WindowsListViewItemStartMenu.cs
- ParameterCollection.cs
- HtmlInputImage.cs
- RegexCaptureCollection.cs
- XmlEncApr2001.cs
- SQLByte.cs
- StatusBarPanel.cs
- SplashScreenNativeMethods.cs
- EntitySqlQueryCacheKey.cs
- DataRecordInternal.cs
- FixedPageAutomationPeer.cs
- coordinator.cs
- AdornedElementPlaceholder.cs
- SpellCheck.cs
- WinFormsUtils.cs
- TreeViewItem.cs
- PagedControl.cs
- LocalBuilder.cs
- RandomNumberGenerator.cs
- NameTable.cs
- DataTableCollection.cs
- GridViewColumnHeader.cs
- DebugView.cs
- MailWebEventProvider.cs
- CompositionAdorner.cs
- StateManagedCollection.cs
- TypeDependencyAttribute.cs
- UTF8Encoding.cs
- MetadataCache.cs
- WebPartEditorApplyVerb.cs
- Internal.cs
- JsonFormatWriterGenerator.cs
- ActivityMarkupSerializationProvider.cs
- XmlChoiceIdentifierAttribute.cs
- Misc.cs
- SchemaElement.cs
- objectresult_tresulttype.cs
- COAUTHIDENTITY.cs
- DataBindingValueUIHandler.cs
- AddInEnvironment.cs
- UpdatePanelTriggerCollection.cs
- ShapeTypeface.cs
- BookmarkList.cs
- ProjectionPruner.cs
- Oid.cs
- CompositeScriptReference.cs
- TableRowGroup.cs
- BinHexEncoder.cs
- AttachedPropertyMethodSelector.cs
- IdentityElement.cs
- WebPartUserCapability.cs
- SqlGenericUtil.cs
- InvokePattern.cs
- EpmSourcePathSegment.cs
- RadioButtonFlatAdapter.cs
- CqlParser.cs
- RbTree.cs
- SubtreeProcessor.cs
- WebPartEditVerb.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- RuleSettingsCollection.cs
- BufferModesCollection.cs
- ClientScriptManagerWrapper.cs
- PowerModeChangedEventArgs.cs
- ObjectCacheHost.cs
- PipeSecurity.cs
- ConversionContext.cs
- File.cs
- BindingBase.cs
- LocalValueEnumerator.cs
- GuidConverter.cs
- DataGridViewCheckBoxCell.cs
- KeyInterop.cs
- MachineKeySection.cs
- LocalFileSettingsProvider.cs
- PerformanceCounterLib.cs
- ReadOnlyDictionary.cs
- QueryComponents.cs