Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / ReadOnlyDictionary.cs / 1 / ReadOnlyDictionary.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel { using System; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; internal sealed class ReadOnlyDictionary: IDictionary { IDictionary dictionary; bool isFixedSize; internal ReadOnlyDictionary(IDictionary dictionary) : this(dictionary, true) { // empty } internal ReadOnlyDictionary(IDictionary dictionary, bool makeCopy) { if (makeCopy) this.dictionary = new Dictionary (dictionary); else this.dictionary = dictionary; this.isFixedSize = makeCopy; } public V this[K key] { get { return this.dictionary[key]; } set { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); } } public ICollection Keys { get { return this.dictionary.Keys; } } public ICollection Values { get { return this.dictionary.Values; } } public int Count { get { return this.dictionary.Count; } } public bool ContainsKey(K key) { return this.dictionary.ContainsKey(key); } public void Add(K key, V value) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); } public void Clear() { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); } public bool IsReadOnly { get { return true; } } public bool IsFixedSize { get { return this.isFixedSize; } } public bool TryGetValue(K key, out V value) { return this.dictionary.TryGetValue(key, out value); } void ICollection >.Add(KeyValuePair keyValuePair) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); } bool ICollection >.Contains(KeyValuePair keyValuePair) { return (this.ContainsKey(keyValuePair.Key) && this[keyValuePair.Key].Equals(keyValuePair.Value)); } bool ICollection >.Remove(KeyValuePair keyValuePair) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); } public bool Remove(K key) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); } void ICollection >.CopyTo(KeyValuePair [] array, int arrayIndex) { ((IDictionary )this.dictionary).CopyTo(array, arrayIndex); } IEnumerator IEnumerable.GetEnumerator() { return ((IEnumerable >)this).GetEnumerator(); } IEnumerator > IEnumerable >.GetEnumerator() { return ((IDictionary )this.dictionary).GetEnumerator(); } } } // 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
- MarkerProperties.cs
- CreateUserWizardAutoFormat.cs
- IntegerValidatorAttribute.cs
- UriGenerator.cs
- ClientSettingsStore.cs
- PointF.cs
- FragmentQueryKB.cs
- BamlTreeNode.cs
- VisualStyleInformation.cs
- SqlExpressionNullability.cs
- ContentTypeSettingClientMessageFormatter.cs
- LayoutEditorPart.cs
- Int32Storage.cs
- DelegateHelpers.Generated.cs
- _OSSOCK.cs
- Point3DAnimation.cs
- StyleCollectionEditor.cs
- IPAddress.cs
- KeyValuePairs.cs
- KeyTimeConverter.cs
- GridViewColumnCollection.cs
- SystemParameters.cs
- ModelUtilities.cs
- BamlLocalizer.cs
- TemplateKey.cs
- BackgroundWorker.cs
- FixedBufferAttribute.cs
- ValueUtilsSmi.cs
- MetadataItem.cs
- DependsOnAttribute.cs
- ServiceTimeoutsBehavior.cs
- EditorPartCollection.cs
- DataStorage.cs
- DependencyPropertyChangedEventArgs.cs
- RegistryKey.cs
- ArgumentValueSerializer.cs
- CodeDefaultValueExpression.cs
- SystemIPInterfaceStatistics.cs
- SharedPersonalizationStateInfo.cs
- LazyInitializer.cs
- FileDialog_Vista_Interop.cs
- DataGridViewSelectedRowCollection.cs
- TreeViewTemplateSelector.cs
- TypeInfo.cs
- TreePrinter.cs
- MessageBuilder.cs
- HtmlHead.cs
- OAVariantLib.cs
- regiisutil.cs
- ProfileSettings.cs
- VisualTarget.cs
- CharConverter.cs
- AnnotationComponentChooser.cs
- OracleMonthSpan.cs
- InvalidDocumentContentsException.cs
- TemplatedWizardStep.cs
- MenuItemStyleCollection.cs
- InputProcessorProfiles.cs
- PieceNameHelper.cs
- RelativeSource.cs
- FixedElement.cs
- LinqDataSourceHelper.cs
- RowParagraph.cs
- DataServiceRequest.cs
- SmiEventStream.cs
- SamlAssertion.cs
- PropertyPathWorker.cs
- NamespaceCollection.cs
- AutoSizeToolBoxItem.cs
- ObjectAssociationEndMapping.cs
- ReaderWriterLockSlim.cs
- HelpKeywordAttribute.cs
- RewritingPass.cs
- ReflectionUtil.cs
- Hashtable.cs
- WorkflowViewService.cs
- ClickablePoint.cs
- LockedHandleGlyph.cs
- PropertyGrid.cs
- IssuanceLicense.cs
- LoginNameDesigner.cs
- TypeDescriptor.cs
- StructuredProperty.cs
- StringCollectionMarkupSerializer.cs
- ApplyHostConfigurationBehavior.cs
- DataControlField.cs
- FilterQueryOptionExpression.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- DataGridTextBox.cs
- ComponentEditorPage.cs
- IssuanceLicense.cs
- DragCompletedEventArgs.cs
- EditorAttribute.cs
- ByteStorage.cs
- CurrentTimeZone.cs
- SqlClientWrapperSmiStreamChars.cs
- FixedPageAutomationPeer.cs
- FilePrompt.cs
- StrokeRenderer.cs
- WebPartConnectionsDisconnectVerb.cs