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
- ImplicitInputBrush.cs
- ScriptingWebServicesSectionGroup.cs
- assertwrapper.cs
- DataControlFieldTypeEditor.cs
- oledbmetadatacollectionnames.cs
- SafeHandles.cs
- CodeTypeMemberCollection.cs
- StoryFragments.cs
- WebBrowserPermission.cs
- SystemIPInterfaceProperties.cs
- TransformPattern.cs
- XmlExceptionHelper.cs
- UrlParameterWriter.cs
- ExpressionParser.cs
- PasswordDeriveBytes.cs
- FocusWithinProperty.cs
- DefaultPropertyAttribute.cs
- TextEvent.cs
- PixelFormats.cs
- JoinTreeSlot.cs
- CodeStatement.cs
- Predicate.cs
- DataSourceNameHandler.cs
- RoutedEvent.cs
- Array.cs
- HandlerMappingMemo.cs
- X509Certificate2.cs
- StatusBarAutomationPeer.cs
- _UncName.cs
- SiteMapSection.cs
- RequestBringIntoViewEventArgs.cs
- Polyline.cs
- AffineTransform3D.cs
- FreezableOperations.cs
- PartialClassGenerationTaskInternal.cs
- DependencyPropertyKind.cs
- Walker.cs
- XsltFunctions.cs
- controlskin.cs
- ErrorWebPart.cs
- BasicHttpBindingElement.cs
- FunctionNode.cs
- TableLayoutPanelBehavior.cs
- ControlCachePolicy.cs
- FileLogRecordStream.cs
- RegionInfo.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- NavigationEventArgs.cs
- Compilation.cs
- DbDataAdapter.cs
- CurrentTimeZone.cs
- EntryPointNotFoundException.cs
- HttpInputStream.cs
- DeferredTextReference.cs
- MenuBindingsEditor.cs
- KeyValueInternalCollection.cs
- SqlRetyper.cs
- SQLString.cs
- TypeUtils.cs
- TypeBuilderInstantiation.cs
- WmpBitmapEncoder.cs
- Blend.cs
- RunInstallerAttribute.cs
- XmlParser.cs
- ProtocolsConfigurationEntry.cs
- Enumerable.cs
- MarkupCompiler.cs
- ViewBase.cs
- DataGridLengthConverter.cs
- DocumentViewerHelper.cs
- CheckBoxPopupAdapter.cs
- RadioButtonList.cs
- hebrewshape.cs
- SetterBase.cs
- MULTI_QI.cs
- COAUTHINFO.cs
- MetaDataInfo.cs
- DefaultMergeHelper.cs
- DynamicRouteExpression.cs
- DataGridViewRow.cs
- CalendarDay.cs
- DataListItemCollection.cs
- ParserHooks.cs
- EdmItemError.cs
- DBSqlParserColumnCollection.cs
- COM2EnumConverter.cs
- DataTableNewRowEvent.cs
- WebPartTransformer.cs
- EntityTypeEmitter.cs
- EventMemberCodeDomSerializer.cs
- UnsettableComboBox.cs
- SpanIndex.cs
- MetadataItemSerializer.cs
- CodeComment.cs
- TextTreeTextNode.cs
- VBCodeProvider.cs
- XmlText.cs
- SqlTypeSystemProvider.cs
- ComponentCodeDomSerializer.cs
- WebRequestModuleElement.cs