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
- TreeViewCancelEvent.cs
- TextSpanModifier.cs
- AssemblyAttributesGoHere.cs
- Timer.cs
- ToolBarOverflowPanel.cs
- VirtualDirectoryMapping.cs
- MethodRental.cs
- CustomAttributeBuilder.cs
- CodeVariableReferenceExpression.cs
- DetailsViewInsertEventArgs.cs
- WindowsFont.cs
- ArglessEventHandlerProxy.cs
- PersonalizationDictionary.cs
- NativeMethods.cs
- Attributes.cs
- Scheduling.cs
- StringDictionary.cs
- BooleanProjectedSlot.cs
- StringValidator.cs
- StreamSecurityUpgradeInitiatorBase.cs
- XmlSerializer.cs
- SerializationException.cs
- Menu.cs
- SystemResourceHost.cs
- UrlEncodedParameterWriter.cs
- InputLanguageSource.cs
- WorkflowMessageEventHandler.cs
- ListBindableAttribute.cs
- ToolStripPanelSelectionBehavior.cs
- SessionEndingEventArgs.cs
- ColumnBinding.cs
- BamlCollectionHolder.cs
- SoapIgnoreAttribute.cs
- XmlEntityReference.cs
- WebBaseEventKeyComparer.cs
- InfoCardSymmetricCrypto.cs
- XmlTextAttribute.cs
- XamlTemplateSerializer.cs
- HtmlControlPersistable.cs
- BinaryMethodMessage.cs
- DataGridViewRowPostPaintEventArgs.cs
- SelectedDatesCollection.cs
- HttpConfigurationContext.cs
- TraceUtility.cs
- GroupItem.cs
- BitVec.cs
- GeometryHitTestResult.cs
- SafeLibraryHandle.cs
- DataSvcMapFileSerializer.cs
- ProfileSettings.cs
- ServerType.cs
- UInt32Storage.cs
- KeyFrames.cs
- PropertyCollection.cs
- PageScaling.cs
- CompModSwitches.cs
- OleCmdHelper.cs
- SendActivityValidator.cs
- CounterSampleCalculator.cs
- RegisteredHiddenField.cs
- NavigationPropertyEmitter.cs
- serverconfig.cs
- ItemCheckedEvent.cs
- TypeUnloadedException.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- QilStrConcat.cs
- GlyphInfoList.cs
- KeyConverter.cs
- LoadGrammarCompletedEventArgs.cs
- MissingFieldException.cs
- ETagAttribute.cs
- Message.cs
- EntityDataSourceDesigner.cs
- Translator.cs
- EditingContext.cs
- NullEntityWrapper.cs
- CallbackHandler.cs
- WrappedIUnknown.cs
- EntitySqlQueryBuilder.cs
- TreeNodeBindingDepthConverter.cs
- ParameterToken.cs
- XmlNodeChangedEventArgs.cs
- BinaryUtilClasses.cs
- QueryCacheManager.cs
- ConfigurationConverterBase.cs
- SrgsOneOf.cs
- SignatureToken.cs
- Parallel.cs
- Ray3DHitTestResult.cs
- CodeExpressionStatement.cs
- EntityParameterCollection.cs
- ConstraintEnumerator.cs
- CodeTypeDeclaration.cs
- InkCanvasSelection.cs
- Point3D.cs
- DataGridAutomationPeer.cs
- PathParser.cs
- InternalMappingException.cs
- ScopelessEnumAttribute.cs
- PtsHost.cs