Code:
/ DotNET / DotNET / 8.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
- UnicodeEncoding.cs
- CombinedHttpChannel.cs
- BindingSource.cs
- Events.cs
- ListViewAutomationPeer.cs
- CustomWebEventKey.cs
- ControlCollection.cs
- ToolBarTray.cs
- HttpFileCollection.cs
- Ipv6Element.cs
- StorageComplexPropertyMapping.cs
- ApplicationManager.cs
- PngBitmapDecoder.cs
- MultipleViewProviderWrapper.cs
- ClonableStack.cs
- TreeViewCancelEvent.cs
- BrowserCapabilitiesCompiler.cs
- Clipboard.cs
- UpdateRecord.cs
- MouseBinding.cs
- XmlReader.cs
- CatalogZoneBase.cs
- GroupStyle.cs
- Effect.cs
- UIntPtr.cs
- DashStyle.cs
- ObservableCollection.cs
- BitArray.cs
- SeparatorAutomationPeer.cs
- AdapterDictionary.cs
- PolicyLevel.cs
- HostingEnvironmentException.cs
- DictionaryBase.cs
- DeferredElementTreeState.cs
- ApplicationDirectory.cs
- Polygon.cs
- FontWeightConverter.cs
- SafeArrayTypeMismatchException.cs
- Soap11ServerProtocol.cs
- SynchronousChannel.cs
- RootBuilder.cs
- SocketElement.cs
- serverconfig.cs
- RuntimeArgumentHandle.cs
- ResourceType.cs
- AnimatedTypeHelpers.cs
- XNodeValidator.cs
- EventListener.cs
- DatagridviewDisplayedBandsData.cs
- Timeline.cs
- TemplateEditingService.cs
- LineSegment.cs
- TextClipboardData.cs
- DropTarget.cs
- IndentTextWriter.cs
- PolyLineSegment.cs
- PartialTrustVisibleAssembliesSection.cs
- AssemblyCache.cs
- XpsFixedPageReaderWriter.cs
- AddressHeaderCollection.cs
- ConnectionConsumerAttribute.cs
- FrameSecurityDescriptor.cs
- XsltException.cs
- ToolStripSeparatorRenderEventArgs.cs
- ScrollItemProviderWrapper.cs
- JoinSymbol.cs
- Identity.cs
- ExternalFile.cs
- CompilerError.cs
- FormView.cs
- AuthenticationModuleElement.cs
- SHA512.cs
- _PooledStream.cs
- FormViewUpdateEventArgs.cs
- SrgsText.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- DocComment.cs
- XPathDescendantIterator.cs
- ServicePrincipalNameElement.cs
- AdornedElementPlaceholder.cs
- X509ThumbprintKeyIdentifierClause.cs
- Regex.cs
- DBSchemaRow.cs
- StylusPointPropertyInfo.cs
- SectionInput.cs
- ProjectedWrapper.cs
- TextFormatterImp.cs
- Constraint.cs
- DesignerSerializerAttribute.cs
- DataRelationCollection.cs
- PackWebRequestFactory.cs
- AutomationPatternInfo.cs
- DynamicRendererThreadManager.cs
- XhtmlMobileTextWriter.cs
- HttpDebugHandler.cs
- PathTooLongException.cs
- StateInitializationDesigner.cs
- ExpressionBuilderContext.cs
- EndPoint.cs
- TransformGroup.cs