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
- MessageSecurityVersion.cs
- EventArgs.cs
- OnOperation.cs
- FileRecordSequence.cs
- BulletedListEventArgs.cs
- Focus.cs
- CustomTypeDescriptor.cs
- cookie.cs
- Scene3D.cs
- CodeAssignStatement.cs
- ServicePointManagerElement.cs
- OptimalBreakSession.cs
- GiveFeedbackEvent.cs
- UnitControl.cs
- AdapterUtil.cs
- diagnosticsswitches.cs
- XmlSchemaSimpleTypeRestriction.cs
- _UriSyntax.cs
- WindowsButton.cs
- PageCatalogPart.cs
- NativeMethods.cs
- ObjectKeyFrameCollection.cs
- DLinqTableProvider.cs
- CursorConverter.cs
- PropertyDescriptors.cs
- XmlDsigSep2000.cs
- AnnotationMap.cs
- CustomAttributeFormatException.cs
- PictureBox.cs
- OdbcInfoMessageEvent.cs
- QueryException.cs
- ResXBuildProvider.cs
- SymbolTable.cs
- LogArchiveSnapshot.cs
- SynchronizationContext.cs
- ResourceExpressionEditorSheet.cs
- DetailsViewDesigner.cs
- ItemChangedEventArgs.cs
- Automation.cs
- RSACryptoServiceProvider.cs
- StylusCollection.cs
- DispatchRuntime.cs
- TreeWalkHelper.cs
- Assembly.cs
- HostUtils.cs
- PropertyDescriptor.cs
- FormViewDeletedEventArgs.cs
- Column.cs
- DefaultShape.cs
- WebPartAuthorizationEventArgs.cs
- MenuItem.cs
- DataGridViewCellParsingEventArgs.cs
- InputProviderSite.cs
- PreviewKeyDownEventArgs.cs
- Composition.cs
- AdornedElementPlaceholder.cs
- storepermissionattribute.cs
- SrgsElementList.cs
- KeySpline.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- RepeaterItem.cs
- HttpRequestContext.cs
- VideoDrawing.cs
- AnnouncementSendsAsyncResult.cs
- Baml6ConstructorInfo.cs
- SocketPermission.cs
- Library.cs
- XmlFormatExtensionPrefixAttribute.cs
- ComUdtElementCollection.cs
- ColorAnimationUsingKeyFrames.cs
- InlineCollection.cs
- UnsafeNativeMethodsTablet.cs
- PropertyChangeTracker.cs
- CustomAttributeBuilder.cs
- MSAANativeProvider.cs
- Italic.cs
- _ProxyChain.cs
- WinInet.cs
- XsdCachingReader.cs
- PocoPropertyAccessorStrategy.cs
- InstanceCreationEditor.cs
- ItemsControl.cs
- EntityEntry.cs
- Mapping.cs
- RuntimeConfigLKG.cs
- Cloud.cs
- brushes.cs
- AtomServiceDocumentSerializer.cs
- GlyphCache.cs
- EntityViewContainer.cs
- WebControlsSection.cs
- OletxTransactionHeader.cs
- DataGridViewCellValueEventArgs.cs
- CodeConditionStatement.cs
- TableRowCollection.cs
- RoleService.cs
- QueryContinueDragEventArgs.cs
- ContentDisposition.cs
- Condition.cs
- CreateParams.cs