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
- AutomationEvent.cs
- OdbcParameter.cs
- ContextMenuStripGroupCollection.cs
- FlowLayoutSettings.cs
- SerializationException.cs
- iisPickupDirectory.cs
- User.cs
- ManagedWndProcTracker.cs
- Quad.cs
- Instrumentation.cs
- Msec.cs
- DispatcherObject.cs
- BamlRecordWriter.cs
- HttpServerVarsCollection.cs
- MembershipSection.cs
- DefaultTextStoreTextComposition.cs
- Size.cs
- ComEventsHelper.cs
- SimpleWorkerRequest.cs
- MethodExpression.cs
- StyleXamlTreeBuilder.cs
- StateRuntime.cs
- FunctionMappingTranslator.cs
- WebPartMenu.cs
- DeploymentSectionCache.cs
- KnownTypeHelper.cs
- MouseDevice.cs
- XPathNodePointer.cs
- ContentOperations.cs
- HostProtectionPermission.cs
- PageVisual.cs
- NullableDecimalAverageAggregationOperator.cs
- DecoratedNameAttribute.cs
- Timer.cs
- WindowsGraphicsWrapper.cs
- MimeImporter.cs
- BypassElementCollection.cs
- SspiWrapper.cs
- PreProcessor.cs
- FixedTextPointer.cs
- FormsAuthenticationUserCollection.cs
- CommandID.cs
- Point3D.cs
- DoubleAnimationUsingPath.cs
- LoadedOrUnloadedOperation.cs
- BitmapCodecInfo.cs
- smtpconnection.cs
- SerializationAttributes.cs
- TextRangeProviderWrapper.cs
- SharedStatics.cs
- UpdatePanelTriggerCollection.cs
- DataSourceXmlElementAttribute.cs
- ContentType.cs
- TypeDelegator.cs
- ManualResetEvent.cs
- ArraySortHelper.cs
- CombinedGeometry.cs
- CollectionViewGroupInternal.cs
- SymbolDocumentGenerator.cs
- ReservationCollection.cs
- EventTrigger.cs
- EntityCommandCompilationException.cs
- UpDownEvent.cs
- OdbcRowUpdatingEvent.cs
- NonNullItemCollection.cs
- Baml2006ReaderContext.cs
- ImageListUtils.cs
- MethodBody.cs
- DesignerAdapterUtil.cs
- AnimationTimeline.cs
- HttpChannelHelper.cs
- NextPreviousPagerField.cs
- BindingListCollectionView.cs
- Viewport3DAutomationPeer.cs
- EpmSyndicationContentSerializer.cs
- XmlSecureResolver.cs
- PathSegmentCollection.cs
- RuntimeConfig.cs
- SmiSettersStream.cs
- DependencyObjectPropertyDescriptor.cs
- OleDbDataReader.cs
- InternalConfigConfigurationFactory.cs
- StringToken.cs
- DBCommand.cs
- LockedActivityGlyph.cs
- SemanticResolver.cs
- StatusBar.cs
- AssemblyAssociatedContentFileAttribute.cs
- DockPattern.cs
- Thumb.cs
- DataGridViewCellStyleChangedEventArgs.cs
- ControlTemplate.cs
- TextTreeRootNode.cs
- Events.cs
- DocumentApplicationJournalEntry.cs
- WithParamAction.cs
- RectConverter.cs
- ConstraintConverter.cs
- DynamicEntity.cs
- UnsafeNativeMethods.cs