Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Configuration / System / Configuration / ProviderCollection.cs / 1305376 / ProviderCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Configuration.Provider { using System.Collections; using System.Collections.Specialized; using System.Runtime.Serialization; ////// public class ProviderCollection : IEnumerable, ICollection //, ICloneable { private Hashtable _Hashtable = null; private bool _ReadOnly = false; //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// public ProviderCollection() { _Hashtable = new Hashtable(10, StringComparer.OrdinalIgnoreCase); } //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// public virtual void Add(ProviderBase provider) { if (_ReadOnly) throw new NotSupportedException(SR.GetString(SR.CollectionReadOnly)); if (provider == null) throw new ArgumentNullException("provider"); if (provider.Name == null || provider.Name.Length < 1) throw new ArgumentException(SR.GetString(SR.Config_provider_name_null_or_empty)); _Hashtable.Add(provider.Name, provider); } //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// public void Remove(string name) { if (_ReadOnly) throw new NotSupportedException(SR.GetString(SR.CollectionReadOnly)); _Hashtable.Remove(name); } //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// public ProviderBase this[string name] { get { return _Hashtable[name] as ProviderBase; } } //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// public IEnumerator GetEnumerator() { return _Hashtable.Values.GetEnumerator(); } //public object Clone(){ // return new ProviderCollection(_Indices, _Values); //} //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// public void SetReadOnly() { if (_ReadOnly) return; _ReadOnly = true; } //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// public void Clear() { if (_ReadOnly) throw new NotSupportedException(SR.GetString(SR.CollectionReadOnly)); _Hashtable.Clear(); } //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// // ICollection interface public int Count { get { return _Hashtable.Count; }} public bool IsSynchronized { get { return false; } } public object SyncRoot { get { return this; } } public void CopyTo(ProviderBase[] array, int index) { ((ICollection) this).CopyTo(array, index); } void ICollection.CopyTo(Array array, int index) { _Hashtable.Values.CopyTo(array, index); } #if UNUSED_CODE ///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// private ProviderCollection(Hashtable h) { _Hashtable = (Hashtable)h.Clone(); } #endif } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.[To be supplied.] ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DebugView.cs
- CompatibleComparer.cs
- FileSystemEventArgs.cs
- Int16KeyFrameCollection.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- TypefaceMetricsCache.cs
- BitmapEncoder.cs
- CodeActivity.cs
- ToolStripDropDown.cs
- XmlCollation.cs
- BindStream.cs
- DynamicValidator.cs
- DesignerValidationSummaryAdapter.cs
- DataGridViewCellStateChangedEventArgs.cs
- LinkClickEvent.cs
- WebPartCatalogCloseVerb.cs
- ChannelManager.cs
- EngineSiteSapi.cs
- XmlTypeMapping.cs
- SqlRetyper.cs
- SymbolPair.cs
- XPathNodeList.cs
- SQLMoney.cs
- CorrelationHandle.cs
- SoapCommonClasses.cs
- HighlightVisual.cs
- XmlLinkedNode.cs
- controlskin.cs
- SmuggledIUnknown.cs
- ThreadPoolTaskScheduler.cs
- TextRunCacheImp.cs
- base64Transforms.cs
- Vector.cs
- SystemResourceKey.cs
- ComponentRenameEvent.cs
- UniformGrid.cs
- BamlCollectionHolder.cs
- LongPath.cs
- EnumMember.cs
- BlurEffect.cs
- ListDictionary.cs
- MediaPlayer.cs
- SamlDelegatingWriter.cs
- RoutedEventHandlerInfo.cs
- LicenseException.cs
- RenderCapability.cs
- TextServicesPropertyRanges.cs
- TextElementAutomationPeer.cs
- _TLSstream.cs
- RawStylusInput.cs
- Splitter.cs
- DataGridViewHitTestInfo.cs
- GridViewAutoFormat.cs
- EpmContentSerializerBase.cs
- DataRecordInternal.cs
- Border.cs
- XmlComment.cs
- OleDbException.cs
- ApplicationGesture.cs
- Transform.cs
- HtmlContainerControl.cs
- IResourceProvider.cs
- ResourceReferenceExpression.cs
- GridViewColumnHeader.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- IxmlLineInfo.cs
- _FtpControlStream.cs
- Size3DConverter.cs
- ServiceCredentialsSecurityTokenManager.cs
- StatusBar.cs
- ControlFilterExpression.cs
- HttpCookieCollection.cs
- StateBag.cs
- PointUtil.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- DbTransaction.cs
- MappingMetadataHelper.cs
- RepeaterCommandEventArgs.cs
- LightweightCodeGenerator.cs
- propertyentry.cs
- SerializationObjectManager.cs
- UnmanagedMarshal.cs
- GB18030Encoding.cs
- XhtmlMobileTextWriter.cs
- Function.cs
- Figure.cs
- SelectionItemProviderWrapper.cs
- RegistryPermission.cs
- JulianCalendar.cs
- XmlSchemaIdentityConstraint.cs
- TypeInitializationException.cs
- ViewValidator.cs
- ProfileParameter.cs
- SymbolMethod.cs
- EmbeddedObject.cs
- Panel.cs
- MetadataItemSerializer.cs
- ApplicationSecurityManager.cs
- UTF8Encoding.cs
- ScrollProperties.cs