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
- PageContentAsyncResult.cs
- Geometry.cs
- CryptographicAttribute.cs
- SqlWebEventProvider.cs
- GrammarBuilderDictation.cs
- ConsumerConnectionPoint.cs
- GridViewUpdateEventArgs.cs
- XmlUtil.cs
- GridViewItemAutomationPeer.cs
- TextElementAutomationPeer.cs
- SslStream.cs
- XmlFormatWriterGenerator.cs
- BrushProxy.cs
- GeneralTransform2DTo3DTo2D.cs
- MasterPageCodeDomTreeGenerator.cs
- CodeGen.cs
- LocalServiceSecuritySettingsElement.cs
- WebPartTransformerCollection.cs
- MultiTrigger.cs
- MenuItem.cs
- BaseInfoTable.cs
- DesignTimeSiteMapProvider.cs
- StrongNamePublicKeyBlob.cs
- X509ScopedServiceCertificateElement.cs
- NativeWindow.cs
- CodeDefaultValueExpression.cs
- Vector3DKeyFrameCollection.cs
- QilParameter.cs
- HttpPostedFileBase.cs
- BinaryFormatter.cs
- PageHandlerFactory.cs
- RegexBoyerMoore.cs
- NotImplementedException.cs
- RectangleConverter.cs
- SqlInternalConnection.cs
- CodeCompileUnit.cs
- DBSchemaRow.cs
- HttpClientChannel.cs
- HandledMouseEvent.cs
- BaseEntityWrapper.cs
- Line.cs
- View.cs
- LinkedResource.cs
- BackoffTimeoutHelper.cs
- SessionStateModule.cs
- Rect.cs
- XmlText.cs
- Events.cs
- XmlNullResolver.cs
- SineEase.cs
- ValidationErrorCollection.cs
- SessionEndedEventArgs.cs
- HttpResponseHeader.cs
- WebPageTraceListener.cs
- EventLogSession.cs
- ColorMatrix.cs
- PolyBezierSegment.cs
- Conditional.cs
- ListView.cs
- TextFormatterContext.cs
- PresentationAppDomainManager.cs
- PtsCache.cs
- UInt32Converter.cs
- QueryRewriter.cs
- UnsafeNativeMethodsTablet.cs
- BamlRecords.cs
- CustomValidator.cs
- BufferBuilder.cs
- SymbolMethod.cs
- ReversePositionQuery.cs
- SettingsPropertyWrongTypeException.cs
- DesignerVerbCollection.cs
- FactoryGenerator.cs
- ServiceProviders.cs
- SqlConnectionPoolProviderInfo.cs
- SatelliteContractVersionAttribute.cs
- Brush.cs
- MatrixIndependentAnimationStorage.cs
- MailDefinition.cs
- BitmapEffectDrawing.cs
- PropertyItemInternal.cs
- ResourcesGenerator.cs
- RulePatternOps.cs
- HtmlGenericControl.cs
- Point3D.cs
- MultiSelectRootGridEntry.cs
- HttpClientProtocol.cs
- StateValidator.cs
- OneOfScalarConst.cs
- ClientOptions.cs
- _NestedSingleAsyncResult.cs
- KeySplineConverter.cs
- DSASignatureFormatter.cs
- CodeArgumentReferenceExpression.cs
- EdmEntityTypeAttribute.cs
- GroupByExpressionRewriter.cs
- HttpResponse.cs
- SqlDataSourceView.cs
- RegisteredScript.cs
- GridViewHeaderRowPresenterAutomationPeer.cs