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
- Mutex.cs
- HighlightVisual.cs
- PolicyFactory.cs
- SerialPort.cs
- ObjectTag.cs
- XmlSchemaComplexType.cs
- ProvideValueServiceProvider.cs
- QueryMath.cs
- AccessDataSourceView.cs
- WmlTextBoxAdapter.cs
- FilterEventArgs.cs
- TypeSystem.cs
- serverconfig.cs
- DbProviderConfigurationHandler.cs
- Calendar.cs
- MetadataUtilsSmi.cs
- XmlCharCheckingReader.cs
- StorageRoot.cs
- EncryptedType.cs
- ColorTranslator.cs
- QilDataSource.cs
- IntPtr.cs
- DataKeyArray.cs
- PathFigureCollection.cs
- MatrixAnimationUsingPath.cs
- CustomCategoryAttribute.cs
- SecurityCredentialsManager.cs
- MethodExpression.cs
- ToolStripDropTargetManager.cs
- validationstate.cs
- TagPrefixAttribute.cs
- HasCopySemanticsAttribute.cs
- RegexCaptureCollection.cs
- versioninfo.cs
- ItemsPanelTemplate.cs
- MonthCalendar.cs
- SponsorHelper.cs
- LogReserveAndAppendState.cs
- ObjectViewQueryResultData.cs
- LicenseManager.cs
- WebBrowsableAttribute.cs
- EndpointAddressElementBase.cs
- StackBuilderSink.cs
- BufferedGraphics.cs
- EdmRelationshipRoleAttribute.cs
- SecurityChannelFaultConverter.cs
- SQLByte.cs
- RichTextBoxDesigner.cs
- DesigntimeLicenseContext.cs
- RadioButton.cs
- CapabilitiesUse.cs
- CellRelation.cs
- XPathException.cs
- DefaultValueMapping.cs
- InternalConfigEventArgs.cs
- LongValidator.cs
- HwndMouseInputProvider.cs
- ProfileSettingsCollection.cs
- EncoderReplacementFallback.cs
- mediaeventshelper.cs
- DoWorkEventArgs.cs
- Intellisense.cs
- TraversalRequest.cs
- TimeEnumHelper.cs
- ListMarkerLine.cs
- TableCell.cs
- PageContentCollection.cs
- webproxy.cs
- BuildProviderAppliesToAttribute.cs
- DataSourceHelper.cs
- UdpReplyToBehavior.cs
- StructuredType.cs
- SynchronizationLockException.cs
- XmlFormatExtensionPointAttribute.cs
- BitmapEncoder.cs
- SystemIPInterfaceStatistics.cs
- BitmapFrameDecode.cs
- WinFormsSpinner.cs
- ReverseQueryOperator.cs
- ProxyGenerationError.cs
- ResourceDefaultValueAttribute.cs
- AssemblyBuilder.cs
- Span.cs
- WindowsGraphicsWrapper.cs
- DiscoveryDocumentSerializer.cs
- RuleSettings.cs
- DateTimeStorage.cs
- DoubleLinkList.cs
- KeyGesture.cs
- ZoneLinkButton.cs
- HyperLinkColumn.cs
- Size3DValueSerializer.cs
- CodeDirectoryCompiler.cs
- GetWinFXPath.cs
- FixedSOMGroup.cs
- filewebresponse.cs
- DataGridAddNewRow.cs
- ArrayListCollectionBase.cs
- RulePatternOps.cs
- FormatterConverter.cs