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
- Image.cs
- CompositeFontFamily.cs
- AnonymousIdentificationSection.cs
- VariableQuery.cs
- InvalidProgramException.cs
- Util.cs
- SolidColorBrush.cs
- SubstitutionList.cs
- ProcessModelInfo.cs
- ViewStateException.cs
- CommittableTransaction.cs
- Duration.cs
- UrlPath.cs
- SwitchCase.cs
- FtpRequestCacheValidator.cs
- SelectionProviderWrapper.cs
- Task.cs
- TaskCanceledException.cs
- CreateParams.cs
- WebPartsSection.cs
- EventHandlerService.cs
- MarshalByValueComponent.cs
- CellTreeNode.cs
- ScriptResourceInfo.cs
- MemberHolder.cs
- PatternMatcher.cs
- ConfigurationManagerHelper.cs
- StubHelpers.cs
- Axis.cs
- TextEndOfParagraph.cs
- ResXBuildProvider.cs
- HttpHandlersSection.cs
- IntPtr.cs
- DataExpression.cs
- BuilderPropertyEntry.cs
- SqlAggregateChecker.cs
- PartialArray.cs
- ParserStack.cs
- XsltArgumentList.cs
- UnsafeNativeMethods.cs
- IDQuery.cs
- BaseValidator.cs
- FastPropertyAccessor.cs
- DataGridItemCollection.cs
- OuterGlowBitmapEffect.cs
- FontFamilyConverter.cs
- DynamicILGenerator.cs
- COM2ExtendedBrowsingHandler.cs
- DecoderNLS.cs
- DocumentApplicationJournalEntryEventArgs.cs
- KnownColorTable.cs
- MaterialGroup.cs
- RestClientProxyHandler.cs
- ProgressBar.cs
- StorageEntitySetMapping.cs
- typedescriptorpermissionattribute.cs
- ObservableCollection.cs
- Pen.cs
- WindowsRegion.cs
- DataGridViewCellCancelEventArgs.cs
- QilInvoke.cs
- GeneralTransform3DGroup.cs
- WindowsTreeView.cs
- PropertyEntry.cs
- CollectionView.cs
- Composition.cs
- RegexTree.cs
- BitmapCacheBrush.cs
- DataControlFieldCell.cs
- DesignerSerializationVisibilityAttribute.cs
- ErrorHandler.cs
- PopupRootAutomationPeer.cs
- CredentialCache.cs
- SqlMethods.cs
- AssertSection.cs
- ToolBarPanel.cs
- Reference.cs
- TypeUtil.cs
- Model3DCollection.cs
- XamlLoadErrorInfo.cs
- ToolStripContentPanelRenderEventArgs.cs
- MetadataHelper.cs
- FlowLayout.cs
- EmbossBitmapEffect.cs
- _HeaderInfoTable.cs
- PointLight.cs
- PtsCache.cs
- ValidationError.cs
- DbProviderConfigurationHandler.cs
- HttpDebugHandler.cs
- DataGrid.cs
- typedescriptorpermission.cs
- ToolStripItemDesigner.cs
- GeneralTransform2DTo3DTo2D.cs
- SurrogateSelector.cs
- DecoderBestFitFallback.cs
- NameNode.cs
- CustomPopupPlacement.cs
- ZipIOBlockManager.cs
- LocatorPart.cs