Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / Net / System / Net / Mail / HeaderCollection.cs / 1 / HeaderCollection.cs
using System;
using System.Collections.Specialized;
using System.Net.Mail;
using System.Globalization;
namespace System.Net.Mime
{
///
/// Summary description for HeaderCollection.
///
internal class HeaderCollection: NameValueCollection {
MimeBasePart part = null;
// default constructor
// intentionally override the default comparer in the derived base class
internal HeaderCollection() : base(StringComparer.OrdinalIgnoreCase) {
}
public override void Remove(string name) {
if(Logging.On)Logging.PrintInfo(Logging.Web, this, "Remove", name);
if (name == null)
throw new ArgumentNullException("name");
if (name == string.Empty)
throw new ArgumentException(SR.GetString(SR.net_emptystringcall,"name"), "name");
MailHeaderID id = MailHeaderInfo.GetID(name);
if (id == MailHeaderID.ContentType && part != null) {
part.ContentType = null;
} else if (id == MailHeaderID.ContentDisposition && part is MimePart) {
((MimePart)part).ContentDisposition = null;
}
base.Remove(name);
}
public override string Get(string name) {
if(Logging.On)Logging.PrintInfo(Logging.Web, this, "Get", name);
if (name == null)
throw new ArgumentNullException("name");
if (name == string.Empty)
throw new ArgumentException(SR.GetString(SR.net_emptystringcall,"name"), "name");
MailHeaderID id = MailHeaderInfo.GetID(name);
if (id == MailHeaderID.ContentType && part != null) {
part.ContentType.PersistIfNeeded(this,false);
} else if (id == MailHeaderID.ContentDisposition && part is MimePart) {
((MimePart)part).ContentDisposition.PersistIfNeeded(this, false);
}
return base.Get(name);
}
public override string[] GetValues(string name) {
if(Logging.On)Logging.PrintInfo(Logging.Web, this, "Get", name);
if (name == null)
throw new ArgumentNullException("name");
if (name == string.Empty)
throw new ArgumentException(SR.GetString(SR.net_emptystringcall,"name"), "name");
MailHeaderID id = MailHeaderInfo.GetID(name);
if (id == MailHeaderID.ContentType && part != null) {
part.ContentType.PersistIfNeeded(this,false);
} else if (id == MailHeaderID.ContentDisposition && part is MimePart) {
((MimePart)part).ContentDisposition.PersistIfNeeded(this, false);
}
return base.GetValues(name);
}
internal void InternalRemove(string name){
base.Remove(name);
}
internal void InternalSet(string name, string value) {
base.Set(name, value);
}
public override void Set(string name, string value) {
if(Logging.On)Logging.PrintInfo(Logging.Web, this, "Set", name.ToString() + "=" + value.ToString());
if (name == null)
throw new ArgumentNullException("name");
if (value == null)
throw new ArgumentNullException("value");
if (name == string.Empty)
throw new ArgumentException(SR.GetString(SR.net_emptystringcall,"name"), "name");
if (value == string.Empty)
throw new ArgumentException(SR.GetString(SR.net_emptystringcall,"value"), "name");
if (!MimeBasePart.IsAscii(name,false)) {
throw new FormatException(SR.GetString(SR.InvalidHeaderName));
}
if (!MimeBasePart.IsAnsi(value,false)) {
throw new FormatException(SR.GetString(SR.InvalidHeaderValue));
}
// normalize the case of well known headers
name = MailHeaderInfo.NormalizeCase(name);
MailHeaderID id = MailHeaderInfo.GetID(name);
if (id == MailHeaderID.ContentType && part != null) {
part.ContentType.Set(value.ToLower(CultureInfo.InvariantCulture), this);
} else if (id == MailHeaderID.ContentDisposition && part is MimePart) {
((MimePart)part).ContentDisposition.Set(value.ToLower(CultureInfo.InvariantCulture), this);
} else {
base.Set(name, value);
}
}
public override void Add(string name, string value) {
if(Logging.On)Logging.PrintInfo(Logging.Web, this, "Add", name.ToString() + "=" + value.ToString());
if (name == null)
throw new ArgumentNullException("name");
if (value == null)
throw new ArgumentNullException("value");
if (name == string.Empty)
throw new ArgumentException(SR.GetString(SR.net_emptystringcall,"name"), "name");
if (value == string.Empty)
throw new ArgumentException(SR.GetString(SR.net_emptystringcall,"value"), "name");
MailBnfHelper.ValidateHeaderName(name);
if (!MimeBasePart.IsAnsi(value,false)) {
throw new FormatException(SR.GetString(SR.InvalidHeaderValue));
}
// normalize the case of well known headers
name = MailHeaderInfo.NormalizeCase(name);
MailHeaderID id = MailHeaderInfo.GetID(name);
if(id == MailHeaderID.ContentType && part != null) {
part.ContentType.Set(value.ToLower(CultureInfo.InvariantCulture), this);
} else if (id == MailHeaderID.ContentDisposition && part is MimePart) {
((MimePart)part).ContentDisposition.Set(value.ToLower(CultureInfo.InvariantCulture), this);
} else {
if (MailHeaderInfo.IsSingleton(name)) {
base.Set(name, value);
} else {
base.Add(name, value);
}
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
using System;
using System.Collections.Specialized;
using System.Net.Mail;
using System.Globalization;
namespace System.Net.Mime
{
///
/// Summary description for HeaderCollection.
///
internal class HeaderCollection: NameValueCollection {
MimeBasePart part = null;
// default constructor
// intentionally override the default comparer in the derived base class
internal HeaderCollection() : base(StringComparer.OrdinalIgnoreCase) {
}
public override void Remove(string name) {
if(Logging.On)Logging.PrintInfo(Logging.Web, this, "Remove", name);
if (name == null)
throw new ArgumentNullException("name");
if (name == string.Empty)
throw new ArgumentException(SR.GetString(SR.net_emptystringcall,"name"), "name");
MailHeaderID id = MailHeaderInfo.GetID(name);
if (id == MailHeaderID.ContentType && part != null) {
part.ContentType = null;
} else if (id == MailHeaderID.ContentDisposition && part is MimePart) {
((MimePart)part).ContentDisposition = null;
}
base.Remove(name);
}
public override string Get(string name) {
if(Logging.On)Logging.PrintInfo(Logging.Web, this, "Get", name);
if (name == null)
throw new ArgumentNullException("name");
if (name == string.Empty)
throw new ArgumentException(SR.GetString(SR.net_emptystringcall,"name"), "name");
MailHeaderID id = MailHeaderInfo.GetID(name);
if (id == MailHeaderID.ContentType && part != null) {
part.ContentType.PersistIfNeeded(this,false);
} else if (id == MailHeaderID.ContentDisposition && part is MimePart) {
((MimePart)part).ContentDisposition.PersistIfNeeded(this, false);
}
return base.Get(name);
}
public override string[] GetValues(string name) {
if(Logging.On)Logging.PrintInfo(Logging.Web, this, "Get", name);
if (name == null)
throw new ArgumentNullException("name");
if (name == string.Empty)
throw new ArgumentException(SR.GetString(SR.net_emptystringcall,"name"), "name");
MailHeaderID id = MailHeaderInfo.GetID(name);
if (id == MailHeaderID.ContentType && part != null) {
part.ContentType.PersistIfNeeded(this,false);
} else if (id == MailHeaderID.ContentDisposition && part is MimePart) {
((MimePart)part).ContentDisposition.PersistIfNeeded(this, false);
}
return base.GetValues(name);
}
internal void InternalRemove(string name){
base.Remove(name);
}
internal void InternalSet(string name, string value) {
base.Set(name, value);
}
public override void Set(string name, string value) {
if(Logging.On)Logging.PrintInfo(Logging.Web, this, "Set", name.ToString() + "=" + value.ToString());
if (name == null)
throw new ArgumentNullException("name");
if (value == null)
throw new ArgumentNullException("value");
if (name == string.Empty)
throw new ArgumentException(SR.GetString(SR.net_emptystringcall,"name"), "name");
if (value == string.Empty)
throw new ArgumentException(SR.GetString(SR.net_emptystringcall,"value"), "name");
if (!MimeBasePart.IsAscii(name,false)) {
throw new FormatException(SR.GetString(SR.InvalidHeaderName));
}
if (!MimeBasePart.IsAnsi(value,false)) {
throw new FormatException(SR.GetString(SR.InvalidHeaderValue));
}
// normalize the case of well known headers
name = MailHeaderInfo.NormalizeCase(name);
MailHeaderID id = MailHeaderInfo.GetID(name);
if (id == MailHeaderID.ContentType && part != null) {
part.ContentType.Set(value.ToLower(CultureInfo.InvariantCulture), this);
} else if (id == MailHeaderID.ContentDisposition && part is MimePart) {
((MimePart)part).ContentDisposition.Set(value.ToLower(CultureInfo.InvariantCulture), this);
} else {
base.Set(name, value);
}
}
public override void Add(string name, string value) {
if(Logging.On)Logging.PrintInfo(Logging.Web, this, "Add", name.ToString() + "=" + value.ToString());
if (name == null)
throw new ArgumentNullException("name");
if (value == null)
throw new ArgumentNullException("value");
if (name == string.Empty)
throw new ArgumentException(SR.GetString(SR.net_emptystringcall,"name"), "name");
if (value == string.Empty)
throw new ArgumentException(SR.GetString(SR.net_emptystringcall,"value"), "name");
MailBnfHelper.ValidateHeaderName(name);
if (!MimeBasePart.IsAnsi(value,false)) {
throw new FormatException(SR.GetString(SR.InvalidHeaderValue));
}
// normalize the case of well known headers
name = MailHeaderInfo.NormalizeCase(name);
MailHeaderID id = MailHeaderInfo.GetID(name);
if(id == MailHeaderID.ContentType && part != null) {
part.ContentType.Set(value.ToLower(CultureInfo.InvariantCulture), this);
} else if (id == MailHeaderID.ContentDisposition && part is MimePart) {
((MimePart)part).ContentDisposition.Set(value.ToLower(CultureInfo.InvariantCulture), this);
} else {
if (MailHeaderInfo.IsSingleton(name)) {
base.Set(name, value);
} else {
base.Add(name, value);
}
}
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DBNull.cs
- ByteStream.cs
- Quad.cs
- DescendantBaseQuery.cs
- RelationshipEnd.cs
- TraceUtility.cs
- Attributes.cs
- SingleKeyFrameCollection.cs
- PlatformCulture.cs
- FlowchartDesigner.Helpers.cs
- DefaultAuthorizationContext.cs
- FileInfo.cs
- Viewport3DVisual.cs
- DocumentXmlWriter.cs
- SslStream.cs
- WsatConfiguration.cs
- CaseStatement.cs
- FontDifferentiator.cs
- KeyboardEventArgs.cs
- WebBrowserNavigatedEventHandler.cs
- DomainUpDown.cs
- CultureSpecificStringDictionary.cs
- InstanceData.cs
- PropertyFilterAttribute.cs
- Type.cs
- EventHandlingScope.cs
- QueryGeneratorBase.cs
- PropertyPathConverter.cs
- XsltException.cs
- TextCompositionEventArgs.cs
- FormsAuthenticationTicket.cs
- MessagePropertyDescriptionCollection.cs
- XmlSchemaNotation.cs
- EditorPart.cs
- CookielessHelper.cs
- Stackframe.cs
- WhitespaceRule.cs
- CapacityStreamGeometryContext.cs
- BrowserDefinition.cs
- WebPartTransformerAttribute.cs
- XmlValueConverter.cs
- ContextMenuStripActionList.cs
- PointHitTestResult.cs
- Debug.cs
- WsatServiceAddress.cs
- SystemIPAddressInformation.cs
- WindowsMenu.cs
- ListBindableAttribute.cs
- FontFamilyConverter.cs
- BlobPersonalizationState.cs
- ObjectStateManagerMetadata.cs
- AVElementHelper.cs
- BamlResourceContent.cs
- TypeBuilderInstantiation.cs
- MD5.cs
- WebUtil.cs
- IsolatedStorageFile.cs
- ScriptReferenceBase.cs
- WebPartHeaderCloseVerb.cs
- TypeConverterHelper.cs
- AttributeSetAction.cs
- BamlLocalizabilityResolver.cs
- XmlSchemaAll.cs
- ParseChildrenAsPropertiesAttribute.cs
- NativeMethods.cs
- OptimizerPatterns.cs
- ObjectStorage.cs
- DocumentViewerHelper.cs
- NativeMethods.cs
- TdsParameterSetter.cs
- XamlToRtfParser.cs
- SystemInformation.cs
- DataGridViewButtonCell.cs
- XmlSchemaGroup.cs
- Update.cs
- ParamArrayAttribute.cs
- Type.cs
- ImageSourceConverter.cs
- VisualStyleInformation.cs
- RotateTransform.cs
- ListMarkerSourceInfo.cs
- OleDbReferenceCollection.cs
- DynamicHyperLink.cs
- TemplateBaseAction.cs
- WSFederationHttpSecurityElement.cs
- Size.cs
- PagerSettings.cs
- TripleDESCryptoServiceProvider.cs
- ObjectListItemCollection.cs
- StylusDownEventArgs.cs
- ToolStripPanelSelectionGlyph.cs
- TypeCollectionPropertyEditor.cs
- HierarchicalDataSourceControl.cs
- RegexWriter.cs
- SchemaImporterExtensionElement.cs
- RadialGradientBrush.cs
- TextShapeableCharacters.cs
- DocumentOrderQuery.cs
- RSAPKCS1SignatureFormatter.cs
- EncoderExceptionFallback.cs