Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EdmRelationshipRoleAttribute.cs
- PointValueSerializer.cs
- HopperCache.cs
- dbdatarecord.cs
- TableProviderWrapper.cs
- PrivateFontCollection.cs
- ProcessHost.cs
- ControlBuilder.cs
- Scalars.cs
- ReservationNotFoundException.cs
- XmlDataSourceView.cs
- TextView.cs
- DetailsViewPagerRow.cs
- CodeAccessSecurityEngine.cs
- SimpleType.cs
- XamlTemplateSerializer.cs
- DelegatingChannelListener.cs
- DetailsView.cs
- CatalogPart.cs
- DataControlReference.cs
- XmlWrappingWriter.cs
- PrintController.cs
- TraceHandler.cs
- UIElementParagraph.cs
- FileEnumerator.cs
- GlobalProxySelection.cs
- DbConnectionStringBuilder.cs
- DataControlPagerLinkButton.cs
- CodeMemberProperty.cs
- InvalidFilterCriteriaException.cs
- ApplicationInfo.cs
- IndicFontClient.cs
- AttributedMetaModel.cs
- Encoding.cs
- DocumentSequenceHighlightLayer.cs
- DataControlPagerLinkButton.cs
- OracleCommandSet.cs
- EncodedStreamFactory.cs
- DataObjectMethodAttribute.cs
- TimelineGroup.cs
- SystemResourceHost.cs
- DragDropHelper.cs
- InputLanguageEventArgs.cs
- TableLayoutRowStyleCollection.cs
- pingexception.cs
- _KerberosClient.cs
- ToolStripKeyboardHandlingService.cs
- FileUpload.cs
- WebPartConnectVerb.cs
- DeflateEmulationStream.cs
- DataGridViewAutoSizeModeEventArgs.cs
- PointHitTestParameters.cs
- OleDbSchemaGuid.cs
- RestHandlerFactory.cs
- PackageProperties.cs
- _emptywebproxy.cs
- DrawingBrush.cs
- StyleXamlTreeBuilder.cs
- RuntimeConfigurationRecord.cs
- CodeIdentifier.cs
- Vector3DConverter.cs
- XmlCharacterData.cs
- Schedule.cs
- ViewGenResults.cs
- ConfigurationCollectionAttribute.cs
- AnimationStorage.cs
- CardSpaceSelector.cs
- BinaryCommonClasses.cs
- TextPointer.cs
- _AutoWebProxyScriptWrapper.cs
- LineGeometry.cs
- InputLanguageProfileNotifySink.cs
- loginstatus.cs
- propertytag.cs
- OLEDB_Enum.cs
- CodeGroup.cs
- WebPermission.cs
- CapabilitiesAssignment.cs
- HashCodeCombiner.cs
- CodeChecksumPragma.cs
- SqlDataSource.cs
- Int16Converter.cs
- TemplateKey.cs
- SerializationException.cs
- SvcMapFileLoader.cs
- GridSplitterAutomationPeer.cs
- DynamicVirtualDiscoSearcher.cs
- XmlDataSource.cs
- ColorEditor.cs
- MemberListBinding.cs
- SortExpressionBuilder.cs
- Renderer.cs
- Point3DKeyFrameCollection.cs
- AutomationPeer.cs
- ExtendedProtectionPolicyTypeConverter.cs
- SafeSerializationManager.cs
- ProvidersHelper.cs
- DataView.cs
- TrackingRecord.cs
- SelectingProviderEventArgs.cs