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
- CodeStatementCollection.cs
- BindingGraph.cs
- Matrix3D.cs
- Polyline.cs
- ExtensibleSyndicationObject.cs
- ScrollItemPattern.cs
- DirectionalLight.cs
- LocatorPartList.cs
- EntityDataSourceEntityTypeFilterItem.cs
- LinqToSqlWrapper.cs
- ResourceProviderFactory.cs
- StorageScalarPropertyMapping.cs
- ReferenceSchema.cs
- WindowsProgressbar.cs
- CompensatableSequenceActivity.cs
- AnnotationStore.cs
- HostedHttpTransportManager.cs
- SqlGatherConsumedAliases.cs
- IndexedGlyphRun.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- ExpressionTable.cs
- CollectionBase.cs
- ColumnPropertiesGroup.cs
- PerformanceCounterPermissionAttribute.cs
- PersistenceContext.cs
- BitmapEffectDrawing.cs
- XmlSchemaSubstitutionGroup.cs
- Hashtable.cs
- ThicknessKeyFrameCollection.cs
- Ipv6Element.cs
- Simplifier.cs
- DbException.cs
- x509utils.cs
- FileDialog.cs
- TdsEnums.cs
- IndexedWhereQueryOperator.cs
- XmlSchemaSimpleType.cs
- TemplatedMailWebEventProvider.cs
- SpellerInterop.cs
- RegistryDataKey.cs
- XmlSerializableWriter.cs
- AppSettingsExpressionBuilder.cs
- WindowsComboBox.cs
- PaintEvent.cs
- ListComponentEditorPage.cs
- TagPrefixCollection.cs
- KerberosRequestorSecurityTokenAuthenticator.cs
- PictureBox.cs
- ToolStripDropDownItem.cs
- HttpModuleAction.cs
- SoapFault.cs
- versioninfo.cs
- AsyncStreamReader.cs
- ParsedAttributeCollection.cs
- ProcessStartInfo.cs
- XmlTextAttribute.cs
- EventListenerClientSide.cs
- HelloOperation11AsyncResult.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- MetadataCache.cs
- ConnectionConsumerAttribute.cs
- MailBnfHelper.cs
- SqlServices.cs
- FontFamily.cs
- ServiceChannel.cs
- TemplateDefinition.cs
- ParsedRoute.cs
- BufferedReceiveManager.cs
- SequentialUshortCollection.cs
- WizardPanel.cs
- ProxyAttribute.cs
- COM2PictureConverter.cs
- RuntimeConfig.cs
- FrameworkContentElement.cs
- _SafeNetHandles.cs
- JsonClassDataContract.cs
- RegexCompilationInfo.cs
- HtmlForm.cs
- VariableQuery.cs
- WindowVisualStateTracker.cs
- ExtractedStateEntry.cs
- CngKeyCreationParameters.cs
- SelectionBorderGlyph.cs
- FixedSOMContainer.cs
- ClassHandlersStore.cs
- KeyValuePairs.cs
- HttpResponse.cs
- BuildResult.cs
- SafeNativeMethods.cs
- EncryptedPackage.cs
- ProtectedConfigurationSection.cs
- SerializableAttribute.cs
- Solver.cs
- IdentityReference.cs
- BooleanFacetDescriptionElement.cs
- HandleValueEditor.cs
- Listbox.cs
- WizardPanel.cs
- PropertyInfoSet.cs
- CacheDependency.cs