Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx35 / System.WorkflowServices / System / ServiceModel / SerializableReadOnlyDictionary.cs / 1305376 / SerializableReadOnlyDictionary.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel { using System.Collections; using System.Collections.Generic; [Serializable] class SerializableReadOnlyDictionary: IDictionary { static IDictionary empty; IDictionary dictionary; public SerializableReadOnlyDictionary(IDictionary dictionary) : this(dictionary, true) { } public SerializableReadOnlyDictionary(IDictionary dictionary, bool makeCopy) { if (makeCopy) { this.dictionary = new Dictionary (dictionary); } else { this.dictionary = dictionary; } } public SerializableReadOnlyDictionary(params KeyValuePair [] entries) { this.dictionary = new Dictionary (entries.Length); foreach (KeyValuePair pair in entries) { this.dictionary.Add(pair); } } public static IDictionary Empty { get { if (empty == null) { empty = new SerializableReadOnlyDictionary (new Dictionary (0), false); } return empty; } } 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 V this[K key] { get { return this.dictionary[key]; } set { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); } } public void Add(K key, V value) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); } public void Add(KeyValuePair item) { 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 Contains(KeyValuePair item) { return this.dictionary.Contains(item); } public bool ContainsKey(K 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(K key) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); } public bool Remove(KeyValuePair item) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); } public bool TryGetValue(K key, out V 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
- NonVisualControlAttribute.cs
- TypedTableBase.cs
- DataSourceControlBuilder.cs
- RuntimeArgumentHandle.cs
- ConfigXmlComment.cs
- OdbcFactory.cs
- ExceptionHandlers.cs
- NotificationContext.cs
- ScopedKnownTypes.cs
- AdjustableArrowCap.cs
- CompiledQueryCacheKey.cs
- DataPager.cs
- ListViewItemMouseHoverEvent.cs
- CommandHelpers.cs
- MenuItem.cs
- Contracts.cs
- TreeBuilderBamlTranslator.cs
- TouchesCapturedWithinProperty.cs
- HttpModuleActionCollection.cs
- WebPartConnectionsDisconnectVerb.cs
- RangeBase.cs
- HealthMonitoringSectionHelper.cs
- BamlBinaryWriter.cs
- TypefaceCollection.cs
- Configuration.cs
- AssemblySettingAttributes.cs
- CodeExpressionStatement.cs
- BaseAsyncResult.cs
- PerfCounterSection.cs
- GuidTagList.cs
- MachineKey.cs
- ConfigurationPermission.cs
- QilTernary.cs
- FontDriver.cs
- AmbientEnvironment.cs
- ObjectAnimationBase.cs
- VolatileEnlistmentMultiplexing.cs
- TextServicesContext.cs
- RangeBaseAutomationPeer.cs
- Stroke2.cs
- ValidatorCollection.cs
- RequestQueue.cs
- WebZone.cs
- OdbcConnectionFactory.cs
- ParameterCollection.cs
- XmlAnyElementAttribute.cs
- TextTabProperties.cs
- ProcessProtocolHandler.cs
- BulletedListEventArgs.cs
- BitmapMetadataBlob.cs
- Gdiplus.cs
- GacUtil.cs
- RadioButtonFlatAdapter.cs
- Component.cs
- ResourceSet.cs
- MobileSysDescriptionAttribute.cs
- DateTimePickerDesigner.cs
- ISSmlParser.cs
- MemberJoinTreeNode.cs
- ControlPersister.cs
- Deserializer.cs
- RegexCode.cs
- PassportAuthenticationEventArgs.cs
- FloaterBaseParaClient.cs
- PipeStream.cs
- ValidationPropertyAttribute.cs
- ListContractAdapter.cs
- DesignerActionMethodItem.cs
- PictureBox.cs
- ConnectionProviderAttribute.cs
- WorkerRequest.cs
- NativeRecognizer.cs
- MultiSelectRootGridEntry.cs
- QueryTask.cs
- Rect.cs
- ValidateNames.cs
- ContentElement.cs
- DataGridAutoFormat.cs
- DiscreteKeyFrames.cs
- WebScriptMetadataFormatter.cs
- ReflectPropertyDescriptor.cs
- ActivityExecutor.cs
- GenericsInstances.cs
- JsonEnumDataContract.cs
- PackageProperties.cs
- RectangleHotSpot.cs
- CompilationSection.cs
- SQLRoleProvider.cs
- Constants.cs
- StubHelpers.cs
- JavaScriptSerializer.cs
- OpacityConverter.cs
- HttpPostedFile.cs
- SqlFileStream.cs
- KeyConverter.cs
- CodeThrowExceptionStatement.cs
- SmtpMail.cs
- SQLRoleProvider.cs
- ZipIOCentralDirectoryBlock.cs
- TextRunProperties.cs