Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / IdentityModel / System / IdentityModel / ImmutableCollection.cs / 1305376 / ImmutableCollection.cs
//---------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel { using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; // // A collection that can be made immutable by calling the // MakeReadOnly method. Once the collection is made read-only // Add, Remove and Clear methods will throw an exception // failing to add a item to the collection. // internal sealed class ImmutableCollection: Collection , IList , IList { bool isReadOnly = false; public void MakeReadOnly() { this.isReadOnly = true; } public bool IsReadOnly { get { return this.isReadOnly; } } protected override void ClearItems() { if (this.isReadOnly) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); base.ClearItems(); } protected override void InsertItem(int index, T item) { if (this.isReadOnly) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); base.InsertItem(index, item); } protected override void RemoveItem(int index) { if (this.isReadOnly) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); base.RemoveItem(index); } protected override void SetItem(int index, T item) { if (this.isReadOnly) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); base.SetItem(index, item); } bool ICollection .IsReadOnly { get { return this.isReadOnly; } } bool IList.IsReadOnly { get { return this.isReadOnly; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.IdentityModel { using System; using System.Collections; using System.Collections.Generic; using System.Collections.ObjectModel; // // A collection that can be made immutable by calling the // MakeReadOnly method. Once the collection is made read-only // Add, Remove and Clear methods will throw an exception // failing to add a item to the collection. // internal sealed class ImmutableCollection : Collection , IList , IList { bool isReadOnly = false; public void MakeReadOnly() { this.isReadOnly = true; } public bool IsReadOnly { get { return this.isReadOnly; } } protected override void ClearItems() { if (this.isReadOnly) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); base.ClearItems(); } protected override void InsertItem(int index, T item) { if (this.isReadOnly) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); base.InsertItem(index, item); } protected override void RemoveItem(int index) { if (this.isReadOnly) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); base.RemoveItem(index); } protected override void SetItem(int index, T item) { if (this.isReadOnly) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.ObjectIsReadOnly))); base.SetItem(index, item); } bool ICollection .IsReadOnly { get { return this.isReadOnly; } } bool IList.IsReadOnly { get { return this.isReadOnly; } } } } // 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
- BulletedList.cs
- TemplatedAdorner.cs
- RuntimeConfig.cs
- SmiRequestExecutor.cs
- DataSourceExpressionCollection.cs
- DbConnectionPoolGroup.cs
- NodeFunctions.cs
- WorkflowQueuingService.cs
- SoapHttpTransportImporter.cs
- XmlSerializationGeneratedCode.cs
- ExtensionQuery.cs
- HttpFileCollection.cs
- XmlSchemaResource.cs
- MexNamedPipeBindingElement.cs
- ObjectHandle.cs
- ServiceModelStringsVersion1.cs
- Overlapped.cs
- Helpers.cs
- PrinterUnitConvert.cs
- JsonFormatReaderGenerator.cs
- SmiSettersStream.cs
- Constants.cs
- EntityClassGenerator.cs
- NetworkCredential.cs
- LinqDataSourceView.cs
- HwndHostAutomationPeer.cs
- EncryptedReference.cs
- XmlException.cs
- AnimatedTypeHelpers.cs
- LinqDataSourceSelectEventArgs.cs
- DataColumnMappingCollection.cs
- ConfigurationStrings.cs
- RegexTypeEditor.cs
- StatusBarDrawItemEvent.cs
- MethodBuilder.cs
- FunctionUpdateCommand.cs
- TTSEvent.cs
- EventMap.cs
- UxThemeWrapper.cs
- SharedPersonalizationStateInfo.cs
- ViewCellRelation.cs
- DocumentGridPage.cs
- InputScopeAttribute.cs
- KnownBoxes.cs
- Win32PrintDialog.cs
- XmlSchemaInfo.cs
- WmfPlaceableFileHeader.cs
- RsaEndpointIdentity.cs
- WebPartDisplayModeEventArgs.cs
- AppDomainProtocolHandler.cs
- LoginStatusDesigner.cs
- TableDetailsRow.cs
- BinHexEncoder.cs
- CodeDomLocalizationProvider.cs
- ConsoleKeyInfo.cs
- ObjectAnimationUsingKeyFrames.cs
- FixedPageAutomationPeer.cs
- XmlUtf8RawTextWriter.cs
- XmlText.cs
- Int32AnimationBase.cs
- PageClientProxyGenerator.cs
- MaskedTextBox.cs
- DbConnectionPoolGroup.cs
- SoapElementAttribute.cs
- TextSpan.cs
- CellPartitioner.cs
- ConstNode.cs
- SizeIndependentAnimationStorage.cs
- HandleCollector.cs
- DashStyle.cs
- ComponentChangingEvent.cs
- DesignUtil.cs
- DataView.cs
- CompilerErrorCollection.cs
- DispatcherEventArgs.cs
- FixedSOMPageElement.cs
- DocumentApplicationJournalEntry.cs
- BooleanAnimationBase.cs
- BooleanFunctions.cs
- TimeSpanConverter.cs
- NativeMethods.cs
- X509AsymmetricSecurityKey.cs
- localization.cs
- ImagingCache.cs
- TreeNodeCollection.cs
- HelpInfo.cs
- XmlSchemaExternal.cs
- ServiceNotStartedException.cs
- PartialList.cs
- FormatSettings.cs
- ScrollContentPresenter.cs
- SmiRecordBuffer.cs
- MessageSecurityTokenVersion.cs
- EdgeProfileValidation.cs
- TimelineClockCollection.cs
- MetadataItemEmitter.cs
- MemoryPressure.cs
- CreatingCookieEventArgs.cs
- TextWriterTraceListener.cs
- DateTimeConstantAttribute.cs