Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / Configuration / NamespaceCollection.cs / 3 / NamespaceCollection.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.Configuration {
using System;
using System.Xml;
using System.Configuration;
using System.Collections.Specialized;
using System.Collections;
using System.IO;
using System.Text;
using System.Web.Util;
using System.Web.UI;
using System.Web.Compilation;
using System.Threading;
using System.Web.Configuration;
using System.Security.Permissions;
// class PagesSection
[ConfigurationCollection(typeof(NamespaceInfo))]
[AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)]
public sealed class NamespaceCollection : ConfigurationElementCollection {
private static ConfigurationPropertyCollection _properties;
private static readonly ConfigurationProperty _propAutoImportVBNamespace =
new ConfigurationProperty("autoImportVBNamespace", typeof(bool), true, ConfigurationPropertyOptions.None);
private Hashtable _namespaceEntries;
static NamespaceCollection() {
// Property initialization
_properties = new ConfigurationPropertyCollection();
_properties.Add(_propAutoImportVBNamespace);
}
protected override ConfigurationPropertyCollection Properties {
get {
return _properties;
}
}
[ConfigurationProperty("autoImportVBNamespace", DefaultValue = true)]
public bool AutoImportVBNamespace {
get {
return (bool)base[_propAutoImportVBNamespace];
}
set {
base[_propAutoImportVBNamespace] = value;
}
}
public NamespaceInfo this[int index] {
get {
return (NamespaceInfo)BaseGet(index);
}
set {
if (BaseGet(index) != null)
BaseRemoveAt(index);
BaseAdd(index, value);
_namespaceEntries = null;
}
}
public void Add(NamespaceInfo namespaceInformation) {
BaseAdd(namespaceInformation);
_namespaceEntries = null;
}
public void Remove(String s) {
BaseRemove(s);
_namespaceEntries = null;
}
public void RemoveAt(int index) {
BaseRemoveAt(index);
_namespaceEntries = null;
}
protected override ConfigurationElement CreateNewElement() {
return new NamespaceInfo();
}
protected override Object GetElementKey(ConfigurationElement element) {
return ((NamespaceInfo)element).Namespace;
}
public void Clear() {
BaseClear();
_namespaceEntries = null;
}
internal Hashtable NamespaceEntries {
get {
if (_namespaceEntries == null) {
lock (this) {
if (_namespaceEntries == null) {
_namespaceEntries = new Hashtable(StringComparer.OrdinalIgnoreCase);
foreach (NamespaceInfo ni in this) {
NamespaceEntry namespaceEntry = new NamespaceEntry();
namespaceEntry.Namespace = ni.Namespace;
// Remember the config file location info, in case an error
// occurs later when we use this data
namespaceEntry.Line = ni.ElementInformation.Properties["namespace"].LineNumber;
//
namespaceEntry.VirtualPath = ni.ElementInformation.Properties["namespace"].Source;
// If the namespace was given Programactically it needs to still have a
// valid line number of the compiler chokes (1 based).
if (namespaceEntry.Line == 0) {
namespaceEntry.Line = 1;
}
_namespaceEntries[ni.Namespace] = namespaceEntry;
}
}
}
}
return _namespaceEntries;
}
}
}
}
// 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
- FolderLevelBuildProviderAppliesToAttribute.cs
- ComponentGuaranteesAttribute.cs
- Models.cs
- MetadataSet.cs
- processwaithandle.cs
- MsmqAppDomainProtocolHandler.cs
- ContextInformation.cs
- WebPartDeleteVerb.cs
- VectorAnimationBase.cs
- ValidationUtility.cs
- ProfileGroupSettingsCollection.cs
- SchemaNotation.cs
- TableAdapterManagerNameHandler.cs
- ProfileService.cs
- AppSettingsExpressionBuilder.cs
- CompoundFileStorageReference.cs
- ObjectStateFormatter.cs
- UITypeEditor.cs
- DefaultAsyncDataDispatcher.cs
- RoutedPropertyChangedEventArgs.cs
- uribuilder.cs
- KeyFrames.cs
- GuidelineSet.cs
- TimelineGroup.cs
- AssemblyContextControlItem.cs
- RowUpdatedEventArgs.cs
- HttpConfigurationSystem.cs
- TransformValueSerializer.cs
- TreeNode.cs
- EffectiveValueEntry.cs
- DockProviderWrapper.cs
- UIAgentInitializationException.cs
- EmptyWithCancelationCheckWorkItem.cs
- TreeViewBindingsEditor.cs
- PartialTrustVisibleAssembliesSection.cs
- SecurityDocument.cs
- AttributeUsageAttribute.cs
- GradientStopCollection.cs
- TcpClientChannel.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- TimeSpanConverter.cs
- BamlVersionHeader.cs
- RadioButtonStandardAdapter.cs
- StateChangeEvent.cs
- AdPostCacheSubstitution.cs
- precedingquery.cs
- COM2ICategorizePropertiesHandler.cs
- HtmlEmptyTagControlBuilder.cs
- FileDataSourceCache.cs
- Image.cs
- OperatingSystem.cs
- DrawingVisualDrawingContext.cs
- TdsParserSafeHandles.cs
- RepeatInfo.cs
- DropTarget.cs
- PasswordTextNavigator.cs
- AspNetHostingPermission.cs
- GradientBrush.cs
- MasterPageBuildProvider.cs
- SelectorAutomationPeer.cs
- ExtensibleClassFactory.cs
- EnumValAlphaComparer.cs
- ClrPerspective.cs
- activationcontext.cs
- CustomAttributeSerializer.cs
- Types.cs
- DeviceFilterDictionary.cs
- SrgsSemanticInterpretationTag.cs
- SymDocumentType.cs
- ServiceProviders.cs
- DataTable.cs
- AttachmentService.cs
- DataBinder.cs
- ServiceModelEnhancedConfigurationElementCollection.cs
- CustomValidator.cs
- WindowsIdentity.cs
- ScalarType.cs
- CancelEventArgs.cs
- JumpList.cs
- MinMaxParagraphWidth.cs
- ServiceOperationWrapper.cs
- Stroke.cs
- ZipIOCentralDirectoryBlock.cs
- GridViewPageEventArgs.cs
- NativeMethodsCLR.cs
- HWStack.cs
- panel.cs
- StateElementCollection.cs
- SizeAnimationUsingKeyFrames.cs
- StylusPlugin.cs
- CollectionBuilder.cs
- SqlRowUpdatingEvent.cs
- CompositionAdorner.cs
- storagemappingitemcollection.viewdictionary.cs
- CircleHotSpot.cs
- SqlClientMetaDataCollectionNames.cs
- CacheChildrenQuery.cs
- DebuggerService.cs
- IOException.cs
- XmlElementList.cs