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
- ClusterSafeNativeMethods.cs
- HeaderCollection.cs
- OpCodes.cs
- RelOps.cs
- HWStack.cs
- FixedSOMPageConstructor.cs
- ConstantSlot.cs
- AnchoredBlock.cs
- CalendarDay.cs
- HttpHeaderCollection.cs
- EntryIndex.cs
- SerializationHelper.cs
- ProcessingInstructionAction.cs
- ReferentialConstraint.cs
- EllipseGeometry.cs
- DBSchemaTable.cs
- CommandField.cs
- StatusBar.cs
- KeyValuePair.cs
- _NegoState.cs
- ChildTable.cs
- EncodingFallbackAwareXmlTextWriter.cs
- ExtractorMetadata.cs
- PersonalizablePropertyEntry.cs
- ReadOnlyPermissionSet.cs
- AuthorizationRuleCollection.cs
- SafeRightsManagementHandle.cs
- CmsInterop.cs
- DebugView.cs
- MessageQueueTransaction.cs
- Point3DAnimationBase.cs
- StorageEndPropertyMapping.cs
- SystemFonts.cs
- ListManagerBindingsCollection.cs
- XPathPatternParser.cs
- SafeLibraryHandle.cs
- ErrorWebPart.cs
- ProgressChangedEventArgs.cs
- RuntimeConfig.cs
- XmlWriter.cs
- HttpModuleActionCollection.cs
- MouseEvent.cs
- TraceHandler.cs
- DocumentXPathNavigator.cs
- UpdatePanelControlTrigger.cs
- WhitespaceRuleLookup.cs
- TdsParameterSetter.cs
- WeakReferenceList.cs
- DocumentPaginator.cs
- HttpProcessUtility.cs
- ToolStripSettings.cs
- BindUriHelper.cs
- EntityException.cs
- SimpleExpression.cs
- XmlAttributeHolder.cs
- SingleBodyParameterMessageFormatter.cs
- NetworkCredential.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- LogEntryHeaderDeserializer.cs
- MetafileHeader.cs
- ItemsControlAutomationPeer.cs
- MetadataWorkspace.cs
- QilGenerator.cs
- DataGridItem.cs
- StaticFileHandler.cs
- CodeMemberEvent.cs
- PropertyNames.cs
- WebControlParameterProxy.cs
- StaticContext.cs
- CopyOfAction.cs
- FormsIdentity.cs
- FlowDocumentPage.cs
- Attributes.cs
- _ListenerResponseStream.cs
- ClipboardData.cs
- XNodeNavigator.cs
- CapabilitiesAssignment.cs
- InputMethodStateTypeInfo.cs
- NameValueCollection.cs
- ObjectListCommandsPage.cs
- ProtocolException.cs
- ServiceModelPerformanceCounters.cs
- MetadataAssemblyHelper.cs
- ConfigurationValue.cs
- Converter.cs
- ByteAnimationUsingKeyFrames.cs
- AssemblyInfo.cs
- AssemblyNameProxy.cs
- SafeHandle.cs
- QilVisitor.cs
- XmlBinaryReader.cs
- ContentElement.cs
- ListParagraph.cs
- WpfXamlMember.cs
- Module.cs
- StringToken.cs
- StylusPointPropertyInfo.cs
- SqlFunctions.cs
- LinqDataSourceHelper.cs
- COM2IManagedPerPropertyBrowsingHandler.cs