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
- VariableModifiersHelper.cs
- HttpClientCertificate.cs
- ResourceDisplayNameAttribute.cs
- Brush.cs
- DesigntimeLicenseContext.cs
- Attachment.cs
- TextRunCacheImp.cs
- NavigationPropertySingletonExpression.cs
- InteropEnvironment.cs
- MultiSelectRootGridEntry.cs
- EntitySet.cs
- EventLogQuery.cs
- WriterOutput.cs
- SettingsAttributes.cs
- RangeBaseAutomationPeer.cs
- OptimizedTemplateContentHelper.cs
- MessageSmuggler.cs
- UrlEncodedParameterWriter.cs
- OleServicesContext.cs
- DoubleCollectionConverter.cs
- StyleReferenceConverter.cs
- RectangleGeometry.cs
- DirectoryInfo.cs
- SuppressMergeCheckAttribute.cs
- SlotInfo.cs
- Thickness.cs
- DetailsViewUpdatedEventArgs.cs
- DSASignatureDeformatter.cs
- RuntimeConfig.cs
- PrincipalPermission.cs
- ModuleBuilderData.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- SiteOfOriginPart.cs
- FontFamilyIdentifier.cs
- XmlDataLoader.cs
- BrushMappingModeValidation.cs
- KeyTime.cs
- COM2IDispatchConverter.cs
- contentDescriptor.cs
- BamlLocalizer.cs
- Select.cs
- Drawing.cs
- MemberProjectionIndex.cs
- OraclePermissionAttribute.cs
- ListBoxDesigner.cs
- ErrorWebPart.cs
- HttpHostedTransportConfiguration.cs
- BindingMemberInfo.cs
- PageParser.cs
- PeerCollaborationPermission.cs
- SamlAuthenticationClaimResource.cs
- ListItemsCollectionEditor.cs
- StatusBarDesigner.cs
- DetailsView.cs
- SmiContextFactory.cs
- StdRegProviderWrapper.cs
- DataGridAddNewRow.cs
- HostVisual.cs
- LocalizabilityAttribute.cs
- DbProviderManifest.cs
- RegisteredExpandoAttribute.cs
- SegmentInfo.cs
- AsyncDataRequest.cs
- SingleAnimation.cs
- ToolbarAUtomationPeer.cs
- TextPointerBase.cs
- GradientSpreadMethodValidation.cs
- RoleServiceManager.cs
- Package.cs
- LocalFileSettingsProvider.cs
- ListViewTableRow.cs
- VBCodeProvider.cs
- PersistChildrenAttribute.cs
- ProfilePropertyNameValidator.cs
- BamlLocalizableResource.cs
- ClientSettingsProvider.cs
- Int32Animation.cs
- XmlDeclaration.cs
- EventLogTraceListener.cs
- ResolveNameEventArgs.cs
- ColorConvertedBitmapExtension.cs
- AtomContentProperty.cs
- DomainConstraint.cs
- AggregatePushdown.cs
- ColorConverter.cs
- TableRow.cs
- RadioButton.cs
- SizeKeyFrameCollection.cs
- WindowsFormsHelpers.cs
- EmptyStringExpandableObjectConverter.cs
- WebBrowserPermission.cs
- Simplifier.cs
- ScriptReference.cs
- _ListenerResponseStream.cs
- DesignerDataConnection.cs
- CounterCreationDataConverter.cs
- PropertyPathWorker.cs
- HtmlInputImage.cs
- ComplusEndpointConfigContainer.cs
- MsmqHostedTransportConfiguration.cs