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
- ExpressionPrefixAttribute.cs
- Point3DAnimationUsingKeyFrames.cs
- ManualResetEventSlim.cs
- Comparer.cs
- SingleTagSectionHandler.cs
- TreeViewItem.cs
- FontWeight.cs
- XslAstAnalyzer.cs
- Decorator.cs
- ToolStrip.cs
- DataGridCommandEventArgs.cs
- SafeViewOfFileHandle.cs
- RequestQueryProcessor.cs
- pingexception.cs
- InstancePersistenceException.cs
- ObjectDataSourceSelectingEventArgs.cs
- QueryContinueDragEvent.cs
- ListenerBinder.cs
- DefaultMemberAttribute.cs
- DataSetMappper.cs
- Console.cs
- XmlSchemaExporter.cs
- SQLInt32Storage.cs
- DetailsViewAutoFormat.cs
- ObjectDataSourceStatusEventArgs.cs
- PersonalizationDictionary.cs
- EventData.cs
- StandardToolWindows.cs
- ConfigurationValidatorBase.cs
- FontDriver.cs
- AlphaSortedEnumConverter.cs
- SHA1CryptoServiceProvider.cs
- NullableLongSumAggregationOperator.cs
- MgmtConfigurationRecord.cs
- ComPlusAuthorization.cs
- AppDomainResourcePerfCounters.cs
- BamlRecordWriter.cs
- OdbcEnvironment.cs
- ResourcesBuildProvider.cs
- ListViewEditEventArgs.cs
- PointAnimationUsingKeyFrames.cs
- CodeAssignStatement.cs
- TextServicesCompartmentEventSink.cs
- TypeUnloadedException.cs
- SoapProtocolImporter.cs
- PublisherMembershipCondition.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- GraphicsPath.cs
- CellNormalizer.cs
- MultiTrigger.cs
- ModuleElement.cs
- SqlParameter.cs
- SqlAliaser.cs
- NonParentingControl.cs
- TimeoutStream.cs
- HttpProfileGroupBase.cs
- TryLoadRunnableWorkflowCommand.cs
- TypedTableBaseExtensions.cs
- HasCopySemanticsAttribute.cs
- EntityStoreSchemaFilterEntry.cs
- Transaction.cs
- FilterElement.cs
- ListenerTraceUtility.cs
- WebSysDescriptionAttribute.cs
- MatrixUtil.cs
- WebBrowserNavigatingEventHandler.cs
- Visual.cs
- UnregisterInfo.cs
- UserPreferenceChangingEventArgs.cs
- MetadataFile.cs
- HijriCalendar.cs
- MethodExpression.cs
- CellConstantDomain.cs
- _ContextAwareResult.cs
- OverflowException.cs
- Literal.cs
- CompiledQuery.cs
- DataSourceXmlSerializer.cs
- ActiveXHelper.cs
- SafeFileMappingHandle.cs
- ResXResourceSet.cs
- LineSegment.cs
- PaperSource.cs
- AttributeUsageAttribute.cs
- Underline.cs
- PreProcessor.cs
- Rethrow.cs
- DbConnectionOptions.cs
- StreamingContext.cs
- PtsHost.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- UdpUtility.cs
- TemplateManager.cs
- AssociationEndMember.cs
- MarkupCompiler.cs
- SamlSecurityTokenAuthenticator.cs
- X509CertificateClaimSet.cs
- AstNode.cs
- IndependentAnimationStorage.cs
- SqlExpander.cs