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
- Container.cs
- StorageModelBuildProvider.cs
- DoubleSumAggregationOperator.cs
- KeyedCollection.cs
- SubMenuStyleCollection.cs
- CheckBox.cs
- ReadOnlyDictionary.cs
- RotateTransform3D.cs
- XamlTemplateSerializer.cs
- DefaultTraceListener.cs
- SimpleApplicationHost.cs
- PartitionResolver.cs
- RubberbandSelector.cs
- TdsValueSetter.cs
- WebBrowserHelper.cs
- ErrorTableItemStyle.cs
- RouteCollection.cs
- DataServiceQueryContinuation.cs
- PathSegment.cs
- InfoCardRSACryptoProvider.cs
- ConditionChanges.cs
- RemotingSurrogateSelector.cs
- CssStyleCollection.cs
- BitmapMetadataBlob.cs
- UnsafeNativeMethods.cs
- CryptoStream.cs
- SubMenuStyleCollection.cs
- Attributes.cs
- DispatchWrapper.cs
- BamlResourceDeserializer.cs
- LabelLiteral.cs
- CatalogPartChrome.cs
- Activity.cs
- Light.cs
- RowBinding.cs
- Profiler.cs
- OleDbDataReader.cs
- Typeface.cs
- DocumentXmlWriter.cs
- PopupControlService.cs
- SymmetricAlgorithm.cs
- ProviderMetadataCachedInformation.cs
- Stack.cs
- MatrixIndependentAnimationStorage.cs
- ExecutionEngineException.cs
- MessageSecurityVersionConverter.cs
- SecurityKeyEntropyMode.cs
- SevenBitStream.cs
- TextTreeText.cs
- MetaTable.cs
- ObjectDataSourceView.cs
- SpellCheck.cs
- DbDataSourceEnumerator.cs
- SqlTopReducer.cs
- QueryResponse.cs
- IdleTimeoutMonitor.cs
- Constraint.cs
- Timeline.cs
- QilPatternFactory.cs
- ClientTargetCollection.cs
- TargetConverter.cs
- SchemaTypeEmitter.cs
- TrustManagerPromptUI.cs
- MouseGestureConverter.cs
- WebHttpSecurity.cs
- DiscoveryDocument.cs
- SqlTypeSystemProvider.cs
- AbandonedMutexException.cs
- CustomAssemblyResolver.cs
- ListControlStringCollectionEditor.cs
- ClassData.cs
- ThreadAbortException.cs
- DependencyPropertyConverter.cs
- EntityProviderFactory.cs
- Triangle.cs
- ApplicationContext.cs
- MatrixAnimationBase.cs
- ListBoxChrome.cs
- APCustomTypeDescriptor.cs
- CompModHelpers.cs
- MouseOverProperty.cs
- LogEntryDeserializer.cs
- Peer.cs
- HtmlHead.cs
- ResolveMatchesMessageCD1.cs
- Condition.cs
- CodeAccessSecurityEngine.cs
- oledbmetadatacolumnnames.cs
- Documentation.cs
- PageSettings.cs
- ConfigurationElementCollection.cs
- XmlNode.cs
- CriticalExceptions.cs
- OdbcRowUpdatingEvent.cs
- ValidationPropertyAttribute.cs
- XmlElementAttributes.cs
- Drawing.cs
- ProxyAttribute.cs
- CodeDelegateInvokeExpression.cs
- DataRecord.cs