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
- WsatServiceCertificate.cs
- ADMembershipUser.cs
- RIPEMD160Managed.cs
- TreeViewDesigner.cs
- namescope.cs
- InputGestureCollection.cs
- BufferBuilder.cs
- PackageDigitalSignature.cs
- SecondaryViewProvider.cs
- DataGridViewRowsRemovedEventArgs.cs
- RelationshipConverter.cs
- DataView.cs
- EntityDesignerUtils.cs
- DefaultValueConverter.cs
- SystemResourceKey.cs
- ProfileGroupSettingsCollection.cs
- PathGeometry.cs
- FrameworkPropertyMetadata.cs
- SecurityState.cs
- HotSpotCollection.cs
- AuthenticationService.cs
- TypedTableBaseExtensions.cs
- COMException.cs
- WindowsEditBox.cs
- DisplayMemberTemplateSelector.cs
- HtmlInputPassword.cs
- WindowsSolidBrush.cs
- x509utils.cs
- CheckBoxPopupAdapter.cs
- TextBoxRenderer.cs
- ReachSerializer.cs
- Translator.cs
- FieldNameLookup.cs
- PageCache.cs
- ConfigurationStrings.cs
- SchemaHelper.cs
- XmlQueryTypeFactory.cs
- PkcsUtils.cs
- BinaryMethodMessage.cs
- FormViewPagerRow.cs
- ScriptHandlerFactory.cs
- DataFormat.cs
- SqlError.cs
- PropertyChangedEventManager.cs
- ObjectViewFactory.cs
- ZipIORawDataFileBlock.cs
- TextElementAutomationPeer.cs
- AggregationMinMaxHelpers.cs
- FullTextLine.cs
- Separator.cs
- LightweightCodeGenerator.cs
- GridViewCommandEventArgs.cs
- TextSelectionHelper.cs
- PhoneCall.cs
- TableRowCollection.cs
- SystemFonts.cs
- SerializationException.cs
- WindowsStartMenu.cs
- ApplicationId.cs
- SHA512Managed.cs
- DSASignatureFormatter.cs
- SQLChars.cs
- CodeAttachEventStatement.cs
- EditingCommands.cs
- Dictionary.cs
- PackWebResponse.cs
- IdentitySection.cs
- ContainerActivationHelper.cs
- TripleDESCryptoServiceProvider.cs
- BevelBitmapEffect.cs
- MdiWindowListStrip.cs
- FuncTypeConverter.cs
- MatrixTransform.cs
- WebPartDisplayMode.cs
- PropertyGeneratedEventArgs.cs
- HiddenFieldPageStatePersister.cs
- TableRow.cs
- SR.cs
- DoubleStorage.cs
- CheckBoxFlatAdapter.cs
- ReadOnlyObservableCollection.cs
- SafeLibraryHandle.cs
- WhileDesigner.cs
- CodeDirectionExpression.cs
- DataGridPagerStyle.cs
- TcpHostedTransportConfiguration.cs
- DataGridViewUtilities.cs
- ServiceReference.cs
- XmlCharCheckingWriter.cs
- DrawingVisualDrawingContext.cs
- Exceptions.cs
- HitTestDrawingContextWalker.cs
- SafeRightsManagementSessionHandle.cs
- coordinatorfactory.cs
- TemplatePartAttribute.cs
- StyleReferenceConverter.cs
- AsyncSerializedWorker.cs
- ItemsControl.cs
- RuleAttributes.cs
- TemplateBindingExtension.cs