Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebParts / WebPartDisplayModeCollection.cs / 1 / WebPartDisplayModeCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls.WebParts { using System; using System.Collections; using System.Security.Permissions; [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class WebPartDisplayModeCollection : CollectionBase { private bool _readOnly; private string _readOnlyExceptionMessage; // Prevent instantiation outside of our assembly. We want third-part code to use the collection // returned by the base method, not create a new collection. internal WebPartDisplayModeCollection() { } public bool IsReadOnly { get { return _readOnly; } } public WebPartDisplayMode this[int index] { get { return (WebPartDisplayMode)List[index]; } } public WebPartDisplayMode this[string modeName] { get { foreach (WebPartDisplayMode displayMode in List) { if (String.Equals(displayMode.Name, modeName, StringComparison.OrdinalIgnoreCase)) { return displayMode; } } return null; } } public int Add(WebPartDisplayMode value) { return List.Add(value); } internal int AddInternal(WebPartDisplayMode value) { bool isReadOnly = _readOnly; _readOnly = false; // Extra try-catch block to prevent elevation of privilege attack via exception filter try { try { return List.Add(value); } finally { _readOnly = isReadOnly; } } catch { throw; } } private void CheckReadOnly() { if (_readOnly) { throw new InvalidOperationException(SR.GetString(_readOnlyExceptionMessage)); } } public bool Contains(WebPartDisplayMode value) { return List.Contains(value); } public void CopyTo(WebPartDisplayMode[] array, int index) { List.CopyTo(array, index); } public int IndexOf(WebPartDisplayMode value) { return List.IndexOf(value); } public void Insert(int index, WebPartDisplayMode value) { List.Insert(index, value); } protected override void OnClear() { throw new InvalidOperationException(SR.GetString(SR.WebPartDisplayModeCollection_CantRemove)); } protected override void OnInsert(int index, object value) { CheckReadOnly(); WebPartDisplayMode displayMode = (WebPartDisplayMode)value; foreach (WebPartDisplayMode existingDisplayMode in List) { if (displayMode.Name == existingDisplayMode.Name) { throw new ArgumentException(SR.GetString( SR.WebPartDisplayModeCollection_DuplicateName, displayMode.Name)); } } base.OnInsert(index, value); } protected override void OnRemove(int index, object value) { throw new InvalidOperationException(SR.GetString(SR.WebPartDisplayModeCollection_CantRemove)); } protected override void OnSet(int index, object oldValue, object newValue) { throw new InvalidOperationException(SR.GetString(SR.WebPartDisplayModeCollection_CantSet)); } protected override void OnValidate(object value) { base.OnValidate(value); if (value == null) { throw new ArgumentNullException("value", SR.GetString(SR.Collection_CantAddNull)); } if (!(value is WebPartDisplayMode)) { throw new ArgumentException(SR.GetString(SR.Collection_InvalidType, "WebPartDisplayMode"), "value"); } } internal void SetReadOnly(string exceptionMessage) { _readOnlyExceptionMessage = exceptionMessage; _readOnly = true; } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EventLog.cs
- MessageAction.cs
- FaultFormatter.cs
- MetadataCache.cs
- AdornerDecorator.cs
- AccessText.cs
- DataRelationCollection.cs
- VerificationException.cs
- TypeViewSchema.cs
- DataSourceCacheDurationConverter.cs
- WindowsIPAddress.cs
- SimpleLine.cs
- PolicyStatement.cs
- X509Utils.cs
- ResourcesBuildProvider.cs
- LinqDataSourceContextEventArgs.cs
- DSASignatureFormatter.cs
- CodeValidator.cs
- SqlFunctions.cs
- SystemGatewayIPAddressInformation.cs
- MetadataArtifactLoaderCompositeFile.cs
- EmptyReadOnlyDictionaryInternal.cs
- WebPartZoneCollection.cs
- TypeContext.cs
- RecordsAffectedEventArgs.cs
- Matrix3DValueSerializer.cs
- DataRowExtensions.cs
- WindowHelperService.cs
- Pen.cs
- FontStretches.cs
- UIElement.cs
- AutoGeneratedFieldProperties.cs
- LoadRetryStrategyFactory.cs
- SessionPageStatePersister.cs
- DynamicResourceExtension.cs
- EncryptedKey.cs
- AnnotationHelper.cs
- AttributeExtensions.cs
- GraphicsContext.cs
- GPPOINT.cs
- GradientSpreadMethodValidation.cs
- DataBindEngine.cs
- XmlSchemaAttributeGroupRef.cs
- GridViewColumn.cs
- DocumentDesigner.cs
- ListControl.cs
- ToolStripItemGlyph.cs
- RepeatInfo.cs
- Base64Encoder.cs
- SoapSchemaMember.cs
- recordstatescratchpad.cs
- StorageEndPropertyMapping.cs
- __Filters.cs
- RegisteredScript.cs
- COM2IProvidePropertyBuilderHandler.cs
- HttpResponseHeader.cs
- CachedRequestParams.cs
- MouseButton.cs
- DataGridView.cs
- HttpChannelFactory.cs
- HttpContext.cs
- SelectiveScrollingGrid.cs
- XmlDataFileEditor.cs
- CompiledQuery.cs
- BuildManager.cs
- PagesSection.cs
- updateconfighost.cs
- FontCacheLogic.cs
- BrowserCapabilitiesFactory35.cs
- DbMetaDataCollectionNames.cs
- TableLayoutSettings.cs
- Help.cs
- PersonalizationStateInfo.cs
- WindowsServiceCredential.cs
- XmlDictionaryReaderQuotas.cs
- PathNode.cs
- ConnectionStringsSection.cs
- QilGenerator.cs
- TypeDescriptionProvider.cs
- EntitySetBaseCollection.cs
- Version.cs
- MemoryMappedViewAccessor.cs
- WebBrowserEvent.cs
- DefaultValueTypeConverter.cs
- SwitchLevelAttribute.cs
- DataConnectionHelper.cs
- FontFamilyValueSerializer.cs
- SoapFault.cs
- arabicshape.cs
- XsltSettings.cs
- TypeGeneratedEventArgs.cs
- EventArgs.cs
- ProviderUtil.cs
- Boolean.cs
- ObjectDataSourceStatusEventArgs.cs
- CollectionDataContract.cs
- TabControlEvent.cs
- EntityCommandDefinition.cs
- PlatformCulture.cs
- FunctionQuery.cs