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
- BevelBitmapEffect.cs
- CustomTypeDescriptor.cs
- RegexCode.cs
- ColumnResizeUndoUnit.cs
- objectresult_tresulttype.cs
- GenericAuthenticationEventArgs.cs
- ChangesetResponse.cs
- GridToolTip.cs
- LayoutDump.cs
- AssertFilter.cs
- ImmutableObjectAttribute.cs
- CombinedGeometry.cs
- SqlMetaData.cs
- CodeGenerator.cs
- AlternationConverter.cs
- AuthorizationRule.cs
- InternalRelationshipCollection.cs
- NotifyIcon.cs
- Triplet.cs
- WebBrowserProgressChangedEventHandler.cs
- ObjectAnimationBase.cs
- MessageDecoder.cs
- CodeAttributeDeclaration.cs
- LineVisual.cs
- HMACRIPEMD160.cs
- DataGridViewColumn.cs
- RootBrowserWindowProxy.cs
- DocumentPaginator.cs
- XamlClipboardData.cs
- SmtpReplyReader.cs
- EndpointAddressMessageFilter.cs
- TreePrinter.cs
- ContextMenu.cs
- InvokeGenerator.cs
- PixelShader.cs
- SqlConnectionPoolProviderInfo.cs
- TriState.cs
- codemethodreferenceexpression.cs
- WebScriptMetadataMessage.cs
- XPathNodeHelper.cs
- SessionEndedEventArgs.cs
- CacheDict.cs
- EntityDataSourceSelectingEventArgs.cs
- EncoderFallback.cs
- StringConverter.cs
- NetworkInterface.cs
- NamedElement.cs
- MemberJoinTreeNode.cs
- MostlySingletonList.cs
- BrowsableAttribute.cs
- ExtendedTransformFactory.cs
- XamlSerializerUtil.cs
- CollectionContainer.cs
- WorkflowServiceHostFactory.cs
- ArrayEditor.cs
- SQLInt32Storage.cs
- PropertyPath.cs
- IfAction.cs
- Matrix.cs
- Int16Converter.cs
- Rfc2898DeriveBytes.cs
- WebPartUtil.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- CollectionChangeEventArgs.cs
- Point3D.cs
- ThemeInfoAttribute.cs
- WindowsGraphics2.cs
- ProfileEventArgs.cs
- Binding.cs
- NullableDecimalMinMaxAggregationOperator.cs
- ConfigurationProperty.cs
- QueryPageSettingsEventArgs.cs
- Vector.cs
- WorkflowMarkupSerializationProvider.cs
- NativeMethods.cs
- StringFreezingAttribute.cs
- SafeViewOfFileHandle.cs
- CardSpacePolicyElement.cs
- TrackingWorkflowEventArgs.cs
- EntityDataSourceUtil.cs
- KnowledgeBase.cs
- AsymmetricSignatureFormatter.cs
- TableItemProviderWrapper.cs
- GroupLabel.cs
- DataObjectMethodAttribute.cs
- FrameworkElement.cs
- UserControl.cs
- LinqDataSourceUpdateEventArgs.cs
- UnknownBitmapDecoder.cs
- HotCommands.cs
- XmlNodeChangedEventArgs.cs
- WindowsMenu.cs
- MulticastIPAddressInformationCollection.cs
- SafeBitVector32.cs
- CmsInterop.cs
- Stack.cs
- UInt64Storage.cs
- ByteStreamBufferedMessageData.cs
- BitmapEffect.cs
- XPathNodePointer.cs