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
- SourceFilter.cs
- ExpressionPrefixAttribute.cs
- SafeLocalAllocation.cs
- versioninfo.cs
- ObjectQueryState.cs
- PointAnimation.cs
- TemplateAction.cs
- StorageConditionPropertyMapping.cs
- SelectionItemProviderWrapper.cs
- WmpBitmapEncoder.cs
- baseshape.cs
- ButtonBase.cs
- PageCodeDomTreeGenerator.cs
- ClientConfigurationSystem.cs
- BitmapEffectInputData.cs
- FormsAuthenticationCredentials.cs
- StylusPointDescription.cs
- RayMeshGeometry3DHitTestResult.cs
- DataGridRowHeader.cs
- Pool.cs
- SymmetricKeyWrap.cs
- PartialTrustHelpers.cs
- ZipIOModeEnforcingStream.cs
- ActivityExecutorSurrogate.cs
- TrustLevel.cs
- XmlBinaryWriterSession.cs
- Array.cs
- PlainXmlWriter.cs
- Codec.cs
- SystemDropShadowChrome.cs
- SqlResolver.cs
- FilterQuery.cs
- ToolStripComboBox.cs
- RewritingSimplifier.cs
- X509Utils.cs
- Table.cs
- TextRunProperties.cs
- DesignerUtility.cs
- XmlSerializerVersionAttribute.cs
- JsonFormatReaderGenerator.cs
- AssociationSetEnd.cs
- CurrencyWrapper.cs
- CookieHandler.cs
- XmlWriterDelegator.cs
- IndentTextWriter.cs
- XmlBoundElement.cs
- ProtocolInformationReader.cs
- HandleExceptionArgs.cs
- UnwrappedTypesXmlSerializerManager.cs
- Membership.cs
- KoreanLunisolarCalendar.cs
- CheckBoxStandardAdapter.cs
- FacetDescription.cs
- CallContext.cs
- ThreadStartException.cs
- JumpItem.cs
- _ConnectionGroup.cs
- GridViewPageEventArgs.cs
- Floater.cs
- _NTAuthentication.cs
- SolidColorBrush.cs
- CryptoKeySecurity.cs
- QilIterator.cs
- UserControlDocumentDesigner.cs
- ValidationErrorEventArgs.cs
- AspCompat.cs
- HttpVersion.cs
- Function.cs
- NullEntityWrapper.cs
- PackWebRequestFactory.cs
- SQLGuidStorage.cs
- CompilationRelaxations.cs
- Conditional.cs
- PasswordTextContainer.cs
- FirstMatchCodeGroup.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- CmsUtils.cs
- DebugHandleTracker.cs
- SoapCodeExporter.cs
- LoginUtil.cs
- AspNetCompatibilityRequirementsMode.cs
- TextDecoration.cs
- ReadWriteSpinLock.cs
- DataServiceStreamResponse.cs
- LoadGrammarCompletedEventArgs.cs
- GetWinFXPath.cs
- CustomCategoryAttribute.cs
- ReadOnlyDictionary.cs
- MsmqTransportSecurity.cs
- Token.cs
- DataObjectCopyingEventArgs.cs
- ClipboardData.cs
- StoreContentChangedEventArgs.cs
- Label.cs
- DependencyPropertyValueSerializer.cs
- FilteredDataSetHelper.cs
- DataSourceView.cs
- FixedHyperLink.cs
- TcpProcessProtocolHandler.cs
- ConfigurationManagerInternalFactory.cs