Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / AddIn / AddIn / System / Addin / Hosting / ReadOnlyDictionary.cs / 1305376 / ReadOnlyDictionary.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: ReadOnlyDictionary ** A wrapper on a Dictionary that throws if any of the ** write methods or property setters are called. ** ===========================================================*/ using System; using System.Collections.Generic; using System.Diagnostics.Contracts; namespace System.Collections.ObjectModel { [Serializable] internal class ReadOnlyDictionary: IDictionary { private IDictionary m_dictionary; public ReadOnlyDictionary(IDictionary dictionary) { if (dictionary == null) throw new ArgumentNullException("dictionary"); System.Diagnostics.Contracts.Contract.EndContractBlock(); m_dictionary = dictionary; } public void Add(TKey key, TValue value) { throw new NotSupportedException(); } public bool ContainsKey(TKey key) { return m_dictionary.ContainsKey(key); } public bool Remove(TKey key) { throw new NotSupportedException(); } public bool TryGetValue(TKey key, out TValue value) { return m_dictionary.TryGetValue(key, out value); } public TValue this[TKey key] { get { return m_dictionary[key]; } set { throw new NotSupportedException(); } } public ICollection Keys { get { return m_dictionary.Keys; } } public ICollection Values { get { return m_dictionary.Values; } } public void Add(KeyValuePair pair) { throw new NotSupportedException(); } public void Clear() { throw new NotSupportedException(); } public bool Contains(KeyValuePair keyValuePair) { return m_dictionary.Contains(keyValuePair); } public void CopyTo(KeyValuePair [] array, Int32 arrayIndex) { m_dictionary.CopyTo(array, arrayIndex); } public bool Remove(KeyValuePair keyValuePair) { throw new NotSupportedException(); } public IEnumerator > GetEnumerator() { return m_dictionary.GetEnumerator(); } public Int32 Count { get { return m_dictionary.Count; } } public bool IsReadOnly { get { return true; } } IEnumerator System.Collections.IEnumerable.GetEnumerator() { return GetEnumerator(); } } } // 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
- ObjectFactoryCodeDomTreeGenerator.cs
- DayRenderEvent.cs
- XmlIncludeAttribute.cs
- SvcMapFileSerializer.cs
- BuilderInfo.cs
- ServiceAuthorizationManager.cs
- CategoryNameCollection.cs
- HttpHandlerAction.cs
- Matrix3D.cs
- CryptoApi.cs
- StateMachine.cs
- Ray3DHitTestResult.cs
- CheckBoxField.cs
- AssociationSet.cs
- DataGridViewBindingCompleteEventArgs.cs
- WindowsRegion.cs
- SliderAutomationPeer.cs
- InvalidateEvent.cs
- SimpleModelProvider.cs
- BufferedReadStream.cs
- srgsitem.cs
- WmpBitmapDecoder.cs
- DeferrableContentConverter.cs
- CollectionViewGroup.cs
- VisualBrush.cs
- TypeExtensionConverter.cs
- Rect.cs
- TextServicesLoader.cs
- DesignerActionVerbList.cs
- DisplayInformation.cs
- SmiContextFactory.cs
- TraceSource.cs
- ExpressionParser.cs
- SynchronizedInputAdaptor.cs
- CollectionViewGroupInternal.cs
- MinimizableAttributeTypeConverter.cs
- InstanceDataCollection.cs
- HtmlEmptyTagControlBuilder.cs
- XNodeNavigator.cs
- TreeNodeMouseHoverEvent.cs
- StrongNameIdentityPermission.cs
- OdbcParameter.cs
- XD.cs
- TabRenderer.cs
- DataGridTablesFactory.cs
- ControlAdapter.cs
- AccessViolationException.cs
- LongTypeConverter.cs
- RectKeyFrameCollection.cs
- AutoSizeToolBoxItem.cs
- GradientSpreadMethodValidation.cs
- WorkflowViewManager.cs
- Binding.cs
- DeploymentSectionCache.cs
- Padding.cs
- TraceFilter.cs
- AppDomainShutdownMonitor.cs
- ElementAction.cs
- BevelBitmapEffect.cs
- DataGridViewBand.cs
- XmlNullResolver.cs
- DataControlImageButton.cs
- SqlXml.cs
- PropertyBuilder.cs
- CallSiteBinder.cs
- SqlDataAdapter.cs
- InvalidDataContractException.cs
- ReadOnlyDictionary.cs
- Process.cs
- Rotation3DAnimationBase.cs
- WebEvents.cs
- WebPartEditVerb.cs
- ImageField.cs
- PeerContact.cs
- MessageHeaderDescription.cs
- TokenBasedSet.cs
- SplineQuaternionKeyFrame.cs
- CompilerWrapper.cs
- RowParagraph.cs
- UpdateDelegates.Generated.cs
- SapiRecoInterop.cs
- CharacterBuffer.cs
- _StreamFramer.cs
- MatrixTransform3D.cs
- Properties.cs
- StructuralCache.cs
- ZoneMembershipCondition.cs
- ProcessProtocolHandler.cs
- UIElement3D.cs
- AsnEncodedData.cs
- QueryTaskGroupState.cs
- XmlSchemaComplexContent.cs
- RegionIterator.cs
- CodeIterationStatement.cs
- UpdateRecord.cs
- HwndHost.cs
- StringResourceManager.cs
- RuntimeConfigLKG.cs
- ContentOperations.cs
- TypeConverterHelper.cs