Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / Configuration / NamespaceCollection.cs / 5 / 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. // //----------------------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Parallel.cs
- ControlEvent.cs
- LayoutTable.cs
- HttpBrowserCapabilitiesWrapper.cs
- ExpressionPrefixAttribute.cs
- DesignerVerb.cs
- PropertyEntry.cs
- ColorContextHelper.cs
- QueuePropertyVariants.cs
- MaterialGroup.cs
- XsltOutput.cs
- IsolatedStorageFilePermission.cs
- BufferBuilder.cs
- QuaternionAnimation.cs
- TypeRestriction.cs
- Screen.cs
- NamedElement.cs
- Attributes.cs
- EnvelopedPkcs7.cs
- LineProperties.cs
- CodeValidator.cs
- CalendarDay.cs
- IMembershipProvider.cs
- MetadataSerializer.cs
- HelpKeywordAttribute.cs
- DataBindingsDialog.cs
- Selector.cs
- WebRequest.cs
- SourceFileBuildProvider.cs
- FaultPropagationQuery.cs
- MimeBasePart.cs
- Animatable.cs
- HttpAsyncResult.cs
- BackEase.cs
- PointCollectionConverter.cs
- DiscoveryDocumentSerializer.cs
- SymbolType.cs
- UpDownBase.cs
- TextRangeProviderWrapper.cs
- GenericUriParser.cs
- MenuItemBindingCollection.cs
- LogEntryHeaderv1Deserializer.cs
- EntityViewGenerator.cs
- WebConfigurationHost.cs
- TableRowGroupCollection.cs
- UIElementParaClient.cs
- XPathParser.cs
- Privilege.cs
- SqlUtil.cs
- ClientRolePrincipal.cs
- ClientRuntimeConfig.cs
- URLAttribute.cs
- RC2.cs
- FileAuthorizationModule.cs
- HitTestFilterBehavior.cs
- Material.cs
- BitmapEffectDrawingContent.cs
- TrackPoint.cs
- TextServicesProperty.cs
- NamespaceCollection.cs
- SkinBuilder.cs
- PageBuildProvider.cs
- HandleRef.cs
- SqlConnectionPoolGroupProviderInfo.cs
- FontConverter.cs
- TreeViewDesigner.cs
- EventLogLink.cs
- NotCondition.cs
- WebPartCatalogAddVerb.cs
- WebBrowserContainer.cs
- TextElementAutomationPeer.cs
- TypeBuilder.cs
- RegexGroup.cs
- AxisAngleRotation3D.cs
- EventLogConfiguration.cs
- ClassImporter.cs
- ImageListUtils.cs
- WhiteSpaceTrimStringConverter.cs
- WebBrowserNavigatedEventHandler.cs
- DataViewSettingCollection.cs
- WebPartEditorCancelVerb.cs
- PointAnimation.cs
- HandlerMappingMemo.cs
- ReadContentAsBinaryHelper.cs
- Parser.cs
- CheckBoxStandardAdapter.cs
- iisPickupDirectory.cs
- FormatSettings.cs
- ColumnMap.cs
- Frame.cs
- ByteStreamMessageEncoder.cs
- IListConverters.cs
- SByte.cs
- ListControl.cs
- ComponentResourceManager.cs
- XmlSchemaAnnotated.cs
- ImageAutomationPeer.cs
- Inline.cs
- Rect.cs
- PropertyIDSet.cs