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
- SctClaimDictionary.cs
- ServiceModelReg.cs
- LineServicesRun.cs
- HelpKeywordAttribute.cs
- IdentityHolder.cs
- TreePrinter.cs
- CommonProperties.cs
- CompilationUnit.cs
- ReflectionUtil.cs
- EnumerableCollectionView.cs
- NonClientArea.cs
- IPAddress.cs
- _LocalDataStoreMgr.cs
- CurrentChangedEventManager.cs
- RuleDefinitions.cs
- SelectionPattern.cs
- SystemColors.cs
- TreeNodeStyleCollection.cs
- Rotation3DAnimationBase.cs
- ELinqQueryState.cs
- PseudoWebRequest.cs
- IResourceProvider.cs
- StructureChangedEventArgs.cs
- SizeValueSerializer.cs
- InstallerTypeAttribute.cs
- NetworkInformationPermission.cs
- GridViewAutoFormat.cs
- ThicknessAnimationUsingKeyFrames.cs
- BamlReader.cs
- XmlUTF8TextWriter.cs
- ProcessRequestAsyncResult.cs
- DataTableReader.cs
- Model3DGroup.cs
- Item.cs
- SeverityFilter.cs
- HierarchicalDataBoundControl.cs
- SqlDeflator.cs
- METAHEADER.cs
- IImplicitResourceProvider.cs
- RTTypeWrapper.cs
- IUnknownConstantAttribute.cs
- SmuggledIUnknown.cs
- DashStyle.cs
- ProcessRequestAsyncResult.cs
- InputScopeConverter.cs
- CalendarBlackoutDatesCollection.cs
- XPathCompileException.cs
- InstanceNotReadyException.cs
- CellConstant.cs
- RoutingExtensionElement.cs
- ClientUtils.cs
- EntityCommandExecutionException.cs
- EntityContainerEmitter.cs
- HashSetDebugView.cs
- TdsParameterSetter.cs
- FontStretches.cs
- BitmapEffect.cs
- SystemColors.cs
- InternalControlCollection.cs
- NameScopePropertyAttribute.cs
- FindCriteriaCD1.cs
- CancellationHandler.cs
- Overlapped.cs
- KeyedPriorityQueue.cs
- OutputCacheModule.cs
- UserControlDesigner.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- DBDataPermission.cs
- DynamicActivity.cs
- VerbConverter.cs
- ELinqQueryState.cs
- ThreadAbortException.cs
- ReturnEventArgs.cs
- DataGridViewCellLinkedList.cs
- Compiler.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- Activator.cs
- SafeRightsManagementEnvironmentHandle.cs
- ChildTable.cs
- AddInEnvironment.cs
- BamlLocalizableResource.cs
- XamlPathDataSerializer.cs
- SqlConnectionHelper.cs
- ExplicitDiscriminatorMap.cs
- StringWriter.cs
- SecurityRuntime.cs
- NavigationEventArgs.cs
- DataServiceClientException.cs
- TypeResolver.cs
- SQLBytes.cs
- ProcessModelSection.cs
- HtmlUtf8RawTextWriter.cs
- SubclassTypeValidatorAttribute.cs
- UriExt.cs
- UnsafeNativeMethods.cs
- NetTcpSection.cs
- DragStartedEventArgs.cs
- RandomNumberGenerator.cs
- TaskResultSetter.cs
- ValidatorCompatibilityHelper.cs