Code:
/ 4.0 / 4.0 / 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.] ///// 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
- ListCommandEventArgs.cs
- QilVisitor.cs
- ComboBox.cs
- CapiSafeHandles.cs
- WebBrowsableAttribute.cs
- PackageRelationship.cs
- PathSegmentCollection.cs
- ClickablePoint.cs
- SoapMessage.cs
- DiscoveryMessageSequenceCD1.cs
- SystemInfo.cs
- HttpModuleCollection.cs
- NetworkInterface.cs
- RegisteredDisposeScript.cs
- ClearTypeHintValidation.cs
- SplitterPanel.cs
- AsymmetricSignatureDeformatter.cs
- OleDbConnection.cs
- DispatcherFrame.cs
- ExpandSegment.cs
- MediaEntryAttribute.cs
- XmlDocument.cs
- BitmapEffectState.cs
- TimeZone.cs
- FixedDSBuilder.cs
- RequestCache.cs
- SoapIncludeAttribute.cs
- EntityViewGenerationConstants.cs
- EmptyElement.cs
- Literal.cs
- M3DUtil.cs
- webclient.cs
- DataGridViewButtonColumn.cs
- FormClosingEvent.cs
- RegisteredScript.cs
- SizeAnimationClockResource.cs
- cookiecollection.cs
- SqlProviderServices.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- SoapDocumentMethodAttribute.cs
- CngKeyBlobFormat.cs
- ErrorTableItemStyle.cs
- NamedPipeTransportBindingElement.cs
- PropVariant.cs
- TreeIterator.cs
- FontConverter.cs
- RightsManagementEncryptedStream.cs
- SystemIcmpV6Statistics.cs
- EdmSchemaAttribute.cs
- WebProxyScriptElement.cs
- RenderingBiasValidation.cs
- JournalEntryListConverter.cs
- FieldToken.cs
- BamlReader.cs
- SqlServer2KCompatibilityAnnotation.cs
- SettingsPropertyCollection.cs
- CodeTypeParameter.cs
- BitmapEffectGroup.cs
- TableStyle.cs
- serverconfig.cs
- SiteMapPath.cs
- LambdaCompiler.Unary.cs
- ContentValidator.cs
- CryptoStream.cs
- Symbol.cs
- HtmlContainerControl.cs
- DecoderFallback.cs
- ObjectAnimationBase.cs
- CatalogPartCollection.cs
- UnregisterInfo.cs
- Application.cs
- GridPattern.cs
- CodeSpit.cs
- RolePrincipal.cs
- ServiceModelConfigurationElementCollection.cs
- DiagnosticTrace.cs
- WebServicesInteroperability.cs
- WebColorConverter.cs
- MetabaseServerConfig.cs
- TrimSurroundingWhitespaceAttribute.cs
- odbcmetadatafactory.cs
- HttpRuntimeSection.cs
- TrimSurroundingWhitespaceAttribute.cs
- CommandHelper.cs
- DesignerCategoryAttribute.cs
- DataGridViewCellMouseEventArgs.cs
- ColorConvertedBitmap.cs
- PeerNearMe.cs
- DnsPermission.cs
- DataGridViewCellValidatingEventArgs.cs
- SchemaTypeEmitter.cs
- MenuTracker.cs
- MimeXmlReflector.cs
- DodSequenceMerge.cs
- OverflowException.cs
- SamlConstants.cs
- baseaxisquery.cs
- MarshalByValueComponent.cs
- TrustManagerPromptUI.cs
- FrameworkElementAutomationPeer.cs