Code:
/ 4.0 / 4.0 / 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. // ==++== // // 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
- ColumnMapProcessor.cs
- EntityViewGenerationAttribute.cs
- hebrewshape.cs
- TextTreePropertyUndoUnit.cs
- XmlImplementation.cs
- InternalEnumValidator.cs
- AlternationConverter.cs
- Accessible.cs
- ServerValidateEventArgs.cs
- ECDsa.cs
- CodeCatchClauseCollection.cs
- ConfigurationStrings.cs
- EmbossBitmapEffect.cs
- ellipse.cs
- SignatureGenerator.cs
- TableDetailsRow.cs
- TextRangeAdaptor.cs
- Renderer.cs
- StructuralComparisons.cs
- CryptographicAttribute.cs
- FormViewDesigner.cs
- GridViewDeletedEventArgs.cs
- PerformanceCounterCategory.cs
- ContextMenu.cs
- LinqDataSourceUpdateEventArgs.cs
- IRCollection.cs
- controlskin.cs
- ECDiffieHellmanCngPublicKey.cs
- JsonStringDataContract.cs
- Point3DCollectionValueSerializer.cs
- TransactionProtocolConverter.cs
- CombinedGeometry.cs
- compensatingcollection.cs
- SuppressMessageAttribute.cs
- TextEditorCopyPaste.cs
- DeferredReference.cs
- BasicHttpSecurityMode.cs
- SafeReadContext.cs
- FixedPageProcessor.cs
- _HeaderInfoTable.cs
- Header.cs
- securitycriticaldataClass.cs
- WorkflowControlEndpoint.cs
- WebPartRestoreVerb.cs
- SQLDecimal.cs
- XamlStyleSerializer.cs
- UrlUtility.cs
- Config.cs
- GridViewUpdatedEventArgs.cs
- DesigntimeLicenseContext.cs
- TempFiles.cs
- TextRunTypographyProperties.cs
- SspiHelper.cs
- BindingWorker.cs
- ConnectionInterfaceCollection.cs
- ParameterToken.cs
- MailMessageEventArgs.cs
- ToolBarTray.cs
- WmlLabelAdapter.cs
- ColorBlend.cs
- MenuRendererClassic.cs
- Size.cs
- BulletChrome.cs
- ObjectNavigationPropertyMapping.cs
- HostProtectionPermission.cs
- ProviderSettings.cs
- LOSFormatter.cs
- NativeMethods.cs
- XPathNavigatorReader.cs
- CopyAction.cs
- WebPageTraceListener.cs
- LeafCellTreeNode.cs
- MenuScrollingVisibilityConverter.cs
- ResourceDescriptionAttribute.cs
- ClassicBorderDecorator.cs
- QilLoop.cs
- SEHException.cs
- xml.cs
- Helper.cs
- CodeBlockBuilder.cs
- DelegateSerializationHolder.cs
- DetailsViewInsertedEventArgs.cs
- CompareValidator.cs
- StateMachineAction.cs
- DesignerTextWriter.cs
- XmlBindingWorker.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- XmlSchemaImport.cs
- ContentFileHelper.cs
- XPathNavigatorKeyComparer.cs
- AssemblyNameProxy.cs
- Visitor.cs
- MissingFieldException.cs
- WebRequest.cs
- RotationValidation.cs
- WebServiceResponseDesigner.cs
- SettingsPropertyIsReadOnlyException.cs
- PropertyToken.cs
- HashAlgorithm.cs
- ITextView.cs