Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Configuration / System / Configuration / ProviderCollection.cs / 1 / 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
- CodeGen.cs
- MimeParameters.cs
- ItemsControl.cs
- XPathAncestorIterator.cs
- CryptoStream.cs
- GlyphsSerializer.cs
- RadioButtonAutomationPeer.cs
- EdmType.cs
- TimeoutException.cs
- BufferedReadStream.cs
- SchemaTypeEmitter.cs
- PrinterSettings.cs
- SR.cs
- DataGridRelationshipRow.cs
- WebBrowserEvent.cs
- StyleCollection.cs
- ServicePointManager.cs
- SharedUtils.cs
- TextBoxLine.cs
- ExtractedStateEntry.cs
- ReversePositionQuery.cs
- RewritingProcessor.cs
- SqlConnectionFactory.cs
- StopRoutingHandler.cs
- LoginView.cs
- TextTreeRootTextBlock.cs
- StringExpressionSet.cs
- TransactionFilter.cs
- QueueSurrogate.cs
- InkCanvasFeedbackAdorner.cs
- DuplexClientBase.cs
- MexHttpsBindingCollectionElement.cs
- ChannelFactoryRefCache.cs
- PageVisual.cs
- AccessedThroughPropertyAttribute.cs
- ExeContext.cs
- XamlTypeWithExplicitNamespace.cs
- EncryptedKey.cs
- Drawing.cs
- UnSafeCharBuffer.cs
- Label.cs
- PersonalizationAdministration.cs
- ContractSearchPattern.cs
- KerberosTicketHashIdentifierClause.cs
- PropertyDescriptorComparer.cs
- LineServices.cs
- Synchronization.cs
- Rect3D.cs
- HttpHostedTransportConfiguration.cs
- DataKeyArray.cs
- DataGridViewCell.cs
- DbModificationCommandTree.cs
- FixedSOMLineRanges.cs
- FormattedTextSymbols.cs
- BitmapEffectInput.cs
- ToolStripPanelDesigner.cs
- KeySpline.cs
- RepeaterItem.cs
- PointLightBase.cs
- ScriptingJsonSerializationSection.cs
- PerformanceCounterCategory.cs
- EqualityComparer.cs
- SchemaHelper.cs
- HotSpot.cs
- ToolboxItemCollection.cs
- StrongNameSignatureInformation.cs
- MethodBody.cs
- RegistrySecurity.cs
- RuntimeConfigLKG.cs
- HtmlTextViewAdapter.cs
- SqlDesignerDataSourceView.cs
- Vector3dCollection.cs
- DateTimeOffset.cs
- WebServicesInteroperability.cs
- TextBoxAutoCompleteSourceConverter.cs
- CustomErrorCollection.cs
- TreeNodeCollection.cs
- SQLConvert.cs
- Converter.cs
- ExceptionValidationRule.cs
- ScriptingRoleServiceSection.cs
- EnumerableRowCollection.cs
- X509SecurityTokenAuthenticator.cs
- SmtpClient.cs
- Exception.cs
- RouteTable.cs
- ListViewCancelEventArgs.cs
- Directory.cs
- TreeView.cs
- MouseBinding.cs
- TypographyProperties.cs
- TimerElapsedEvenArgs.cs
- CompilerState.cs
- MonikerHelper.cs
- DefaultTextStore.cs
- CustomErrorCollection.cs
- DataAdapter.cs
- Logging.cs
- EventProviderBase.cs
- QueueProcessor.cs