Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Speech / Src / Internal / ReadOnlyDictionary.cs / 1 / ReadOnlyDictionary.cs
//------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; namespace System.Speech.Internal { internal class ReadOnlyDictionary: IDictionary { public int Count { get { return _dictionary.Count; } } public IEnumerator > GetEnumerator () { return _dictionary.GetEnumerator (); } public V this [K key] { get { return _dictionary [key]; } set { throw new NotSupportedException (SR.Get (SRID.CollectionReadOnly)); } } // Other methods are a pass through to the underlying collection: public bool IsReadOnly { get { return true; } } public bool Contains (KeyValuePair key) { return _dictionary.ContainsKey (key.Key); } public bool ContainsKey (K key) { return _dictionary.ContainsKey (key); } public void CopyTo (KeyValuePair [] array, int index) { ((ICollection >) _dictionary).CopyTo (array, index); } public ICollection Keys { // According to the source of IDictionary.Keys this is a read-only collection. get { return _dictionary.Keys; } } public ICollection Values { // According to the source of IDictionary.Keys this is a read-write collection, // but is a copy of the main dictionary so there's no way to change anything in the main collection. get { return _dictionary.Values; } } // Read-only collection so throw on these methods: public void Add (KeyValuePair key) { throw new NotSupportedException (SR.Get (SRID.CollectionReadOnly)); } public void Add (K key, V value) { throw new NotSupportedException (SR.Get (SRID.CollectionReadOnly)); } public void Clear () { throw new NotSupportedException (SR.Get (SRID.CollectionReadOnly)); } public bool Remove (KeyValuePair key) { throw new NotSupportedException (SR.Get (SRID.CollectionReadOnly)); } public bool Remove (K key) { throw new NotSupportedException (SR.Get (SRID.CollectionReadOnly)); } IEnumerator IEnumerable.GetEnumerator () { return ((IEnumerable >) this).GetEnumerator (); } bool IDictionary .TryGetValue (K key, out V value) { return InternalDictionary.TryGetValue (key, out value); } // Allow internal code to manipulate internal collection internal Dictionary InternalDictionary { get { return _dictionary; } //set { _dictionary = value; } } private Dictionary _dictionary = new Dictionary (); } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UrlMappingCollection.cs
- XsltException.cs
- DataViewManagerListItemTypeDescriptor.cs
- ToolStripGrip.cs
- Stack.cs
- FileDialog_Vista.cs
- PeerDefaultCustomResolverClient.cs
- WithStatement.cs
- DataFieldCollectionEditor.cs
- VirtualDirectoryMappingCollection.cs
- CategoriesDocumentFormatter.cs
- Operators.cs
- FindCriteria.cs
- DatePickerDateValidationErrorEventArgs.cs
- ValidatorUtils.cs
- ColumnMapProcessor.cs
- DaylightTime.cs
- Debugger.cs
- TableLayoutPanel.cs
- FileSystemWatcher.cs
- WebHttpBinding.cs
- EditingScope.cs
- MatrixTransform3D.cs
- ScrollableControlDesigner.cs
- HttpListenerRequest.cs
- SamlDoNotCacheCondition.cs
- OperationFormatter.cs
- LineInfo.cs
- ClassHandlersStore.cs
- XmlEnumAttribute.cs
- PartitionResolver.cs
- StylusPointCollection.cs
- SqlBinder.cs
- Point.cs
- MessageDecoder.cs
- HttpMethodAttribute.cs
- FixedSOMPage.cs
- CalendarKeyboardHelper.cs
- StopRoutingHandler.cs
- _LocalDataStore.cs
- StringAnimationUsingKeyFrames.cs
- ImageEditor.cs
- ClassData.cs
- FlowLayoutSettings.cs
- CheckBoxList.cs
- WebPartConnectionsCancelEventArgs.cs
- SqlCommand.cs
- ChannelBinding.cs
- ApplicationActivator.cs
- Activator.cs
- SHA512.cs
- BoolExpression.cs
- ModuleConfigurationInfo.cs
- TrackingServices.cs
- WmiPutTraceRecord.cs
- CodeDomDecompiler.cs
- ContentElementAutomationPeer.cs
- HttpHandlerAction.cs
- ChannelFactoryBase.cs
- StopRoutingHandler.cs
- PropertyInfoSet.cs
- CubicEase.cs
- XmlSerializer.cs
- XPathChildIterator.cs
- mediaeventargs.cs
- Int64Animation.cs
- DataGridViewSelectedCellCollection.cs
- XmlSortKeyAccumulator.cs
- LinqDataSourceContextEventArgs.cs
- SqlFileStream.cs
- BitmapEffectDrawingContent.cs
- SecurityManager.cs
- GiveFeedbackEvent.cs
- ContainerParagraph.cs
- SqlHelper.cs
- LinkedResourceCollection.cs
- Model3DGroup.cs
- XmlSchemaAttribute.cs
- OdbcConnectionString.cs
- SocketInformation.cs
- ExpressionBuilder.cs
- ToolStripPanelRow.cs
- NavigationPropertySingletonExpression.cs
- SerialErrors.cs
- SqlConnectionStringBuilder.cs
- PositiveTimeSpanValidator.cs
- ToolboxComponentsCreatingEventArgs.cs
- XmlValidatingReaderImpl.cs
- WebDescriptionAttribute.cs
- XpsColorContext.cs
- TimerElapsedEvenArgs.cs
- BadImageFormatException.cs
- TextEffect.cs
- DataIdProcessor.cs
- HitTestWithGeometryDrawingContextWalker.cs
- Barrier.cs
- WindowsGraphicsWrapper.cs
- DataGridViewCellStyleChangedEventArgs.cs
- IsolatedStorageException.cs
- HttpResponseHeader.cs