Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / 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.
//------------------------------------------------------------------------------
//
// 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
- XPathPatternParser.cs
- OracleTimeSpan.cs
- SafeCoTaskMem.cs
- ValidationError.cs
- ObjectTokenCategory.cs
- WindowsAltTab.cs
- TableItemPatternIdentifiers.cs
- SafeEventHandle.cs
- LinqExpressionNormalizer.cs
- wpf-etw.cs
- DataGridViewAdvancedBorderStyle.cs
- SupportsEventValidationAttribute.cs
- DataGridHeaderBorder.cs
- _DisconnectOverlappedAsyncResult.cs
- ImageMapEventArgs.cs
- ComponentChangedEvent.cs
- LineMetrics.cs
- XmlEncodedRawTextWriter.cs
- XmlSchemaAnnotation.cs
- EnvelopedSignatureTransform.cs
- AppliesToBehaviorDecisionTable.cs
- AnnotationObservableCollection.cs
- XamlSerializer.cs
- KeyValuePairs.cs
- Line.cs
- TextFormatter.cs
- BitmapEffect.cs
- PeerEndPoint.cs
- OneOfElement.cs
- SoapSchemaImporter.cs
- MaterialGroup.cs
- XmlLoader.cs
- SafeBitVector32.cs
- HttpApplication.cs
- OptimizedTemplateContent.cs
- IssuanceTokenProviderState.cs
- ObjectHandle.cs
- ExpressionDumper.cs
- MetadataPropertyvalue.cs
- Vector3dCollection.cs
- DataTableReader.cs
- IndexingContentUnit.cs
- Frame.cs
- DeviceSpecificChoiceCollection.cs
- NumericExpr.cs
- ReadOnlyCollectionBase.cs
- PolyBezierSegment.cs
- webeventbuffer.cs
- StructuralObject.cs
- PerformanceCounterLib.cs
- TypefaceMetricsCache.cs
- NativeMethods.cs
- ReadOnlyKeyedCollection.cs
- AdCreatedEventArgs.cs
- CheckoutException.cs
- clipboard.cs
- MetabaseSettingsIis7.cs
- SmiMetaDataProperty.cs
- ZipIOExtraFieldPaddingElement.cs
- DbModificationCommandTree.cs
- WebHttpDispatchOperationSelector.cs
- ResourcePermissionBaseEntry.cs
- httpserverutility.cs
- AnimationStorage.cs
- StylusEventArgs.cs
- AsnEncodedData.cs
- MasterPageParser.cs
- TextEditorMouse.cs
- BorderGapMaskConverter.cs
- ReadOnlyCollection.cs
- Range.cs
- RectangleConverter.cs
- BamlBinaryReader.cs
- Substitution.cs
- DataTableMapping.cs
- PlatformCulture.cs
- PixelFormatConverter.cs
- CommandPlan.cs
- IRCollection.cs
- ForEachAction.cs
- DataRecordInfo.cs
- EventMap.cs
- NetworkInformationException.cs
- ImplicitInputBrush.cs
- TagPrefixInfo.cs
- _TLSstream.cs
- ProcessInfo.cs
- EntityDesignerDataSourceView.cs
- IsolatedStorageFile.cs
- FacetDescriptionElement.cs
- StateBag.cs
- HandleCollector.cs
- TitleStyle.cs
- GroupItemAutomationPeer.cs
- SafeRightsManagementQueryHandle.cs
- HttpModuleAction.cs
- EdmRelationshipNavigationPropertyAttribute.cs
- DrawingVisual.cs
- DuplicateWaitObjectException.cs
- CapabilitiesPattern.cs