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
- DataChangedEventManager.cs
- VersionedStream.cs
- GcSettings.cs
- DocumentPageTextView.cs
- dsa.cs
- HostExecutionContextManager.cs
- MexTcpBindingCollectionElement.cs
- CustomAttributeBuilder.cs
- Int32AnimationUsingKeyFrames.cs
- TextTreeTextElementNode.cs
- SqlStatistics.cs
- ObjectSpanRewriter.cs
- CustomValidator.cs
- GridErrorDlg.cs
- WindowsAuthenticationEventArgs.cs
- ControlLocalizer.cs
- ControlDesigner.cs
- FileLogRecord.cs
- SafeCryptoHandles.cs
- FixedTextBuilder.cs
- PrintControllerWithStatusDialog.cs
- ApplicationBuildProvider.cs
- TreeNodeSelectionProcessor.cs
- ToolStripPanel.cs
- SeparatorAutomationPeer.cs
- CodeAccessPermission.cs
- XmlHelper.cs
- RuleSetReference.cs
- CheckBoxStandardAdapter.cs
- RadioButtonStandardAdapter.cs
- WebPartCatalogAddVerb.cs
- CompensationDesigner.cs
- Preprocessor.cs
- WebConfigurationHost.cs
- BufferBuilder.cs
- Icon.cs
- FileStream.cs
- WindowsPen.cs
- NGCSerializationManagerAsync.cs
- AjaxFrameworkAssemblyAttribute.cs
- GridViewPageEventArgs.cs
- OperationInvokerBehavior.cs
- RuntimeEnvironment.cs
- XmlSchemaInfo.cs
- BitmapCodecInfo.cs
- SchemaObjectWriter.cs
- MessageQueuePermission.cs
- StylusCaptureWithinProperty.cs
- RoleGroupCollection.cs
- FullTextLine.cs
- TreeBuilderXamlTranslator.cs
- UpdatePanelControlTrigger.cs
- ReflectionUtil.cs
- LinqDataSourceDisposeEventArgs.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- KoreanCalendar.cs
- XmlQualifiedName.cs
- SQLBinaryStorage.cs
- RijndaelManaged.cs
- ExpressionBindingCollection.cs
- Formatter.cs
- ToolStripContentPanelDesigner.cs
- MarshalByRefObject.cs
- WebPartConnectionsCancelEventArgs.cs
- DataControlFieldCell.cs
- ExtendedTransformFactory.cs
- TextWriterTraceListener.cs
- DelegateInArgument.cs
- DataGridViewColumnHeaderCell.cs
- ModelItemImpl.cs
- MessageSmuggler.cs
- CodeGotoStatement.cs
- PlanCompilerUtil.cs
- TagMapCollection.cs
- NativeMethods.cs
- SqlTypesSchemaImporter.cs
- SequentialWorkflowHeaderFooter.cs
- EmptyQuery.cs
- EncryptedType.cs
- MemberHolder.cs
- ImageConverter.cs
- TreeNodeCollection.cs
- DataRowCollection.cs
- InputProcessorProfiles.cs
- LogPolicy.cs
- InboundActivityHelper.cs
- RegexGroupCollection.cs
- FlowDocumentPaginator.cs
- PageWrapper.cs
- SamlAdvice.cs
- CompositionCommandSet.cs
- DataGridViewMethods.cs
- StylusPointPropertyId.cs
- CompilerWrapper.cs
- SafeSystemMetrics.cs
- FloaterBaseParagraph.cs
- SqlInfoMessageEvent.cs
- XmlSerializableReader.cs
- CleanUpVirtualizedItemEventArgs.cs
- DetailsViewCommandEventArgs.cs