Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / System.Runtime.DurableInstancing / System / Runtime / ReadOnlyDictionary.cs / 1305376 / ReadOnlyDictionary.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Runtime { using System.Collections; using System.Collections.Generic; [Serializable] class ReadOnlyDictionary: IDictionary { IDictionary dictionary; public ReadOnlyDictionary(IDictionary dictionary) : this(dictionary, true) { } public ReadOnlyDictionary(IDictionary dictionary, bool makeCopy) { if (makeCopy) { this.dictionary = new Dictionary (dictionary); } else { this.dictionary = dictionary; } } public int Count { get { return this.dictionary.Count; } } public bool IsReadOnly { get { return true; } } public ICollection Keys { get { return this.dictionary.Keys; } } public ICollection Values { get { return this.dictionary.Values; } } public TValue this[TKey key] { get { return this.dictionary[key]; } set { throw Fx.Exception.AsError(CreateReadOnlyException()); } } public static IDictionary Create(IDictionary dictionary) { if (dictionary.IsReadOnly) { return dictionary; } else { return new ReadOnlyDictionary (dictionary); } } Exception CreateReadOnlyException() { return new InvalidOperationException(SRCore.DictionaryIsReadOnly); } public void Add(TKey key, TValue value) { throw Fx.Exception.AsError(CreateReadOnlyException()); } public void Add(KeyValuePair item) { throw Fx.Exception.AsError(CreateReadOnlyException()); } public void Clear() { throw Fx.Exception.AsError(CreateReadOnlyException()); } public bool Contains(KeyValuePair item) { return this.dictionary.Contains(item); } public bool ContainsKey(TKey key) { return this.dictionary.ContainsKey(key); } public void CopyTo(KeyValuePair [] array, int arrayIndex) { this.dictionary.CopyTo(array, arrayIndex); } public IEnumerator > GetEnumerator() { return this.dictionary.GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return this.GetEnumerator(); } public bool Remove(TKey key) { throw Fx.Exception.AsError(CreateReadOnlyException()); } public bool Remove(KeyValuePair item) { throw Fx.Exception.AsError(CreateReadOnlyException()); } public bool TryGetValue(TKey key, out TValue value) { return this.dictionary.TryGetValue(key, out value); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Runtime { using System.Collections; using System.Collections.Generic; [Serializable] class ReadOnlyDictionary : IDictionary { IDictionary dictionary; public ReadOnlyDictionary(IDictionary dictionary) : this(dictionary, true) { } public ReadOnlyDictionary(IDictionary dictionary, bool makeCopy) { if (makeCopy) { this.dictionary = new Dictionary (dictionary); } else { this.dictionary = dictionary; } } public int Count { get { return this.dictionary.Count; } } public bool IsReadOnly { get { return true; } } public ICollection Keys { get { return this.dictionary.Keys; } } public ICollection Values { get { return this.dictionary.Values; } } public TValue this[TKey key] { get { return this.dictionary[key]; } set { throw Fx.Exception.AsError(CreateReadOnlyException()); } } public static IDictionary Create(IDictionary dictionary) { if (dictionary.IsReadOnly) { return dictionary; } else { return new ReadOnlyDictionary (dictionary); } } Exception CreateReadOnlyException() { return new InvalidOperationException(SRCore.DictionaryIsReadOnly); } public void Add(TKey key, TValue value) { throw Fx.Exception.AsError(CreateReadOnlyException()); } public void Add(KeyValuePair item) { throw Fx.Exception.AsError(CreateReadOnlyException()); } public void Clear() { throw Fx.Exception.AsError(CreateReadOnlyException()); } public bool Contains(KeyValuePair item) { return this.dictionary.Contains(item); } public bool ContainsKey(TKey key) { return this.dictionary.ContainsKey(key); } public void CopyTo(KeyValuePair [] array, int arrayIndex) { this.dictionary.CopyTo(array, arrayIndex); } public IEnumerator > GetEnumerator() { return this.dictionary.GetEnumerator(); } IEnumerator IEnumerable.GetEnumerator() { return this.GetEnumerator(); } public bool Remove(TKey key) { throw Fx.Exception.AsError(CreateReadOnlyException()); } public bool Remove(KeyValuePair item) { throw Fx.Exception.AsError(CreateReadOnlyException()); } public bool TryGetValue(TKey key, out TValue value) { return this.dictionary.TryGetValue(key, out value); } } } // 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
- DocumentPage.cs
- ResourceWriter.cs
- OptimizerPatterns.cs
- SQLBoolean.cs
- HostingEnvironmentException.cs
- StrongNameIdentityPermission.cs
- WorkflowViewService.cs
- ComponentEditorPage.cs
- SqlDataSourceAdvancedOptionsForm.cs
- LoginView.cs
- MenuItem.cs
- PageStatePersister.cs
- MasterPageParser.cs
- PeerInvitationResponse.cs
- ArrayTypeMismatchException.cs
- HintTextMaxWidthConverter.cs
- ObjectSecurity.cs
- WaveHeader.cs
- PathSegmentCollection.cs
- FormView.cs
- COM2TypeInfoProcessor.cs
- MetadataItem.cs
- UriTemplateMatchException.cs
- Constraint.cs
- DateTime.cs
- XpsFilter.cs
- EntityConnectionStringBuilder.cs
- BamlRecordWriter.cs
- LineGeometry.cs
- ControlPaint.cs
- HttpRequestMessageProperty.cs
- PropertyDescriptor.cs
- AttachedPropertyBrowsableAttribute.cs
- CodeTypeDeclarationCollection.cs
- SafePipeHandle.cs
- IndentTextWriter.cs
- WebPageTraceListener.cs
- MetadataWorkspace.cs
- FileDialog_Vista_Interop.cs
- AsyncContentLoadedEventArgs.cs
- ImportCatalogPart.cs
- COM2ICategorizePropertiesHandler.cs
- CheckBoxRenderer.cs
- RuleSetReference.cs
- IListConverters.cs
- LocalServiceSecuritySettings.cs
- MissingMemberException.cs
- RadialGradientBrush.cs
- CustomTrackingQuery.cs
- SystemTcpStatistics.cs
- Utils.cs
- LinqDataSourceDeleteEventArgs.cs
- BooleanAnimationUsingKeyFrames.cs
- DiffuseMaterial.cs
- PageThemeBuildProvider.cs
- NativeMethods.cs
- DriveInfo.cs
- DispatcherFrame.cs
- BitmapEffectGroup.cs
- Int16AnimationBase.cs
- SecurityUtils.cs
- Parsers.cs
- AvtEvent.cs
- VerificationException.cs
- XmlTextAttribute.cs
- Helper.cs
- DataGridViewRowEventArgs.cs
- ItemContainerGenerator.cs
- DescendantOverDescendantQuery.cs
- ElasticEase.cs
- FixedSOMTableCell.cs
- FileDialog_Vista_Interop.cs
- BuiltInExpr.cs
- MSAANativeProvider.cs
- VerticalAlignConverter.cs
- SapiRecognizer.cs
- PreviewKeyDownEventArgs.cs
- SwitchElementsCollection.cs
- RegistryKey.cs
- TransformCryptoHandle.cs
- baseaxisquery.cs
- AssemblyFilter.cs
- KeyGestureConverter.cs
- RangeBaseAutomationPeer.cs
- EntityClientCacheEntry.cs
- State.cs
- CorrelationService.cs
- Events.cs
- WindowsStartMenu.cs
- ErrorRuntimeConfig.cs
- SchemaImporter.cs
- FixedTextPointer.cs
- CollectionContainer.cs
- SamlAuthenticationClaimResource.cs
- ViewStateAttachedPropertyFeature.cs
- Utils.cs
- HttpHeaderCollection.cs
- OnOperation.cs
- MaskPropertyEditor.cs
- CreateParams.cs