Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Net / System / Net / Mail / MailAddressCollection.cs / 1305376 / MailAddressCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Mail { using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Text; using System.Net.Mime; public class MailAddressCollection: Collection{ public MailAddressCollection(){ } public void Add(string addresses) { if (addresses == null) { throw new ArgumentNullException("addresses"); } if (addresses == string.Empty) { throw new ArgumentException(SR.GetString(SR.net_emptystringcall, "addresses"), "addresses"); } ParseValue(addresses); } protected override void SetItem(int index, MailAddress item){ if(item==null) { throw new ArgumentNullException("item"); } base.SetItem(index,item); } protected override void InsertItem(int index, MailAddress item){ if(item==null){ throw new ArgumentNullException("item"); } base.InsertItem(index,item); } internal void ParseValue(string addresses){ IList result = MailAddressParser.ParseMultipleAddresses(addresses); for (int i = 0; i < result.Count; i++) { this.Add(result[i]); } } public override string ToString(){ bool first = true; StringBuilder builder = new StringBuilder(); foreach (MailAddress address in this) { if (!first) { builder.Append(", "); } builder.Append(address.ToString()); first = false; } return builder.ToString();; } internal string Encode(int charsConsumed) { string encodedAddresses = string.Empty; //encode each address individually (except the first), fold and separate with a comma foreach (MailAddress address in this) { if (String.IsNullOrEmpty(encodedAddresses)) { //no need to append a comma to the first one because it may be the only one. encodedAddresses = address.Encode(charsConsumed); } else { //appending another one, append a comma to separate and then fold and add the encoded address //the charsConsumed will be 1 because only the first line needs to account for the header itself for //line length; subsequent lines have a single whitespace character because they are folded here encodedAddresses += ",\r\n " + address.Encode(1); } } return encodedAddresses; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Net.Mail { using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Text; using System.Net.Mime; public class MailAddressCollection: Collection{ public MailAddressCollection(){ } public void Add(string addresses) { if (addresses == null) { throw new ArgumentNullException("addresses"); } if (addresses == string.Empty) { throw new ArgumentException(SR.GetString(SR.net_emptystringcall, "addresses"), "addresses"); } ParseValue(addresses); } protected override void SetItem(int index, MailAddress item){ if(item==null) { throw new ArgumentNullException("item"); } base.SetItem(index,item); } protected override void InsertItem(int index, MailAddress item){ if(item==null){ throw new ArgumentNullException("item"); } base.InsertItem(index,item); } internal void ParseValue(string addresses){ IList result = MailAddressParser.ParseMultipleAddresses(addresses); for (int i = 0; i < result.Count; i++) { this.Add(result[i]); } } public override string ToString(){ bool first = true; StringBuilder builder = new StringBuilder(); foreach (MailAddress address in this) { if (!first) { builder.Append(", "); } builder.Append(address.ToString()); first = false; } return builder.ToString();; } internal string Encode(int charsConsumed) { string encodedAddresses = string.Empty; //encode each address individually (except the first), fold and separate with a comma foreach (MailAddress address in this) { if (String.IsNullOrEmpty(encodedAddresses)) { //no need to append a comma to the first one because it may be the only one. encodedAddresses = address.Encode(charsConsumed); } else { //appending another one, append a comma to separate and then fold and add the encoded address //the charsConsumed will be 1 because only the first line needs to account for the header itself for //line length; subsequent lines have a single whitespace character because they are folded here encodedAddresses += ",\r\n " + address.Encode(1); } } return encodedAddresses; } } } // 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
- coordinator.cs
- DodSequenceMerge.cs
- OutputCacheEntry.cs
- DataGridViewCellFormattingEventArgs.cs
- SqlHelper.cs
- EdmMember.cs
- HostedTransportConfigurationManager.cs
- HttpRuntime.cs
- ListViewItem.cs
- DefaultObjectSerializer.cs
- WrappedOptions.cs
- TranslateTransform.cs
- SafePipeHandle.cs
- FileSystemInfo.cs
- DataGridTemplateColumn.cs
- HierarchicalDataBoundControl.cs
- ProgressBar.cs
- PeerName.cs
- CharAnimationBase.cs
- SerializationObjectManager.cs
- EventSourceCreationData.cs
- ListCollectionView.cs
- BadImageFormatException.cs
- XpsS0ValidatingLoader.cs
- DescriptionAttribute.cs
- TextEditorSelection.cs
- PeerHelpers.cs
- FactoryRecord.cs
- GeneralTransform.cs
- ValidationErrorCollection.cs
- MultiByteCodec.cs
- EventLogPermissionEntryCollection.cs
- ExpanderAutomationPeer.cs
- Section.cs
- IsolatedStorage.cs
- printdlgexmarshaler.cs
- XPathMultyIterator.cs
- AlternateView.cs
- UrlMappingCollection.cs
- AsymmetricSignatureDeformatter.cs
- IOThreadScheduler.cs
- PublisherMembershipCondition.cs
- WindowsFormsSectionHandler.cs
- GenericAuthenticationEventArgs.cs
- QilStrConcat.cs
- Size.cs
- CollectionBuilder.cs
- PcmConverter.cs
- Table.cs
- XmlParserContext.cs
- AuthenticationManager.cs
- HMACMD5.cs
- HttpModuleAction.cs
- TypeExtensionConverter.cs
- EpmTargetTree.cs
- FullTextBreakpoint.cs
- EditorAttribute.cs
- NotifyParentPropertyAttribute.cs
- BitmapCodecInfoInternal.cs
- AutoResetEvent.cs
- OrderPreservingMergeHelper.cs
- ExtractorMetadata.cs
- ListViewItemSelectionChangedEvent.cs
- XsltContext.cs
- WindowsFormsHostAutomationPeer.cs
- RijndaelCryptoServiceProvider.cs
- WindowsGraphics.cs
- BindToObject.cs
- TraceRecord.cs
- ReadOnlyDataSourceView.cs
- QilBinary.cs
- ListSortDescriptionCollection.cs
- XmlSchemaCompilationSettings.cs
- SimpleRecyclingCache.cs
- RuleSetCollection.cs
- XmlSchemaImporter.cs
- CryptoStream.cs
- CompressedStack.cs
- DBSqlParser.cs
- ScrollEventArgs.cs
- DateTimeOffsetAdapter.cs
- ExpandSegment.cs
- FilterElement.cs
- Button.cs
- ResourceAttributes.cs
- MDIClient.cs
- MouseWheelEventArgs.cs
- HtmlTableRow.cs
- WindowsListView.cs
- DesignerWithHeader.cs
- ConnectionsZone.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- IdnMapping.cs
- InfoCardRSACryptoProvider.cs
- ComponentEditorPage.cs
- UIElementCollection.cs
- EntityCommandDefinition.cs
- EditCommandColumn.cs
- DataGridViewColumnStateChangedEventArgs.cs
- BitConverter.cs