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
- XmlAnyAttributeAttribute.cs
- QilTypeChecker.cs
- HandlerBase.cs
- TypeNameConverter.cs
- SecurityPolicySection.cs
- SecurityMessageProperty.cs
- FieldNameLookup.cs
- ClientSideProviderDescription.cs
- DataGridViewCellStyle.cs
- Wildcard.cs
- COM2Properties.cs
- Icon.cs
- Double.cs
- CalculatedColumn.cs
- CodeAccessSecurityEngine.cs
- PageSettings.cs
- LayoutEditorPart.cs
- CharacterBufferReference.cs
- MemoryRecordBuffer.cs
- UrlAuthorizationModule.cs
- BuildResult.cs
- HttpProfileBase.cs
- ActivityTypeCodeDomSerializer.cs
- HttpListenerContext.cs
- URLAttribute.cs
- CollectionType.cs
- DynamicUpdateCommand.cs
- SelectorAutomationPeer.cs
- FormsAuthenticationEventArgs.cs
- TcpProcessProtocolHandler.cs
- Helpers.cs
- SystemFonts.cs
- GridView.cs
- HtmlEncodedRawTextWriter.cs
- InternalSafeNativeMethods.cs
- SqlTrackingWorkflowInstance.cs
- EnumUnknown.cs
- StylusCaptureWithinProperty.cs
- DiscriminatorMap.cs
- GradientSpreadMethodValidation.cs
- ScopeElementCollection.cs
- CqlErrorHelper.cs
- InfoCardMasterKey.cs
- MapPathBasedVirtualPathProvider.cs
- EncoderReplacementFallback.cs
- UnsafeCollabNativeMethods.cs
- MetaTable.cs
- UInt32.cs
- NonBatchDirectoryCompiler.cs
- SystemIcmpV4Statistics.cs
- TextServicesPropertyRanges.cs
- StrongNamePublicKeyBlob.cs
- PathGeometry.cs
- SchemaEntity.cs
- NativeMethods.cs
- httpstaticobjectscollection.cs
- EventSetterHandlerConverter.cs
- InvalidWMPVersionException.cs
- ReliableOutputSessionChannel.cs
- AssemblyUtil.cs
- PackUriHelper.cs
- VariableExpressionConverter.cs
- Condition.cs
- PassportAuthenticationModule.cs
- ComponentEvent.cs
- VScrollProperties.cs
- FreezableCollection.cs
- SecurityVerifiedMessage.cs
- HttpCacheVaryByContentEncodings.cs
- EntityDataSourceMemberPath.cs
- DataColumnChangeEvent.cs
- dbenumerator.cs
- DrawingContext.cs
- CheckPair.cs
- InternalsVisibleToAttribute.cs
- TagMapCollection.cs
- followingquery.cs
- safex509handles.cs
- SetStateDesigner.cs
- SimplePropertyEntry.cs
- SingleStorage.cs
- UnsafeNativeMethodsTablet.cs
- InstanceKey.cs
- EditorAttribute.cs
- SourceLineInfo.cs
- ObjectListFieldCollection.cs
- OdbcConnectionStringbuilder.cs
- RoutedEventHandlerInfo.cs
- DataBindingsDialog.cs
- SerializeAbsoluteContext.cs
- TextEditorDragDrop.cs
- AuthenticationSection.cs
- Compress.cs
- HostingEnvironmentSection.cs
- Group.cs
- BitmapMetadata.cs
- PanelContainerDesigner.cs
- ECDiffieHellman.cs
- CryptoApi.cs
- ScriptResourceHandler.cs