Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebParts / WebPartDisplayModeCollection.cs / 2 / 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; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TimeSpanOrInfiniteValidator.cs
- OpCopier.cs
- DependencyObjectProvider.cs
- OptimisticConcurrencyException.cs
- ObjectSecurity.cs
- SocketAddress.cs
- OleDbRowUpdatedEvent.cs
- QilName.cs
- ApplyTemplatesAction.cs
- Dynamic.cs
- AggregatePushdown.cs
- NavigatingCancelEventArgs.cs
- OleDbCommand.cs
- Number.cs
- UriTemplateTable.cs
- QueryOptionExpression.cs
- TimeZone.cs
- StrokeNodeOperations.cs
- UnmanagedMarshal.cs
- _SpnDictionary.cs
- XhtmlBasicPageAdapter.cs
- BuildProvider.cs
- GeneralTransform.cs
- SplashScreenNativeMethods.cs
- SymbolPair.cs
- PrintController.cs
- DesignerActionTextItem.cs
- DataGridViewDataErrorEventArgs.cs
- RadioButtonStandardAdapter.cs
- EntityDataSourceColumn.cs
- ConnectionsZoneDesigner.cs
- TcpHostedTransportConfiguration.cs
- SiteMapNodeCollection.cs
- UrlMappingsSection.cs
- XmlSchemaElement.cs
- NullableBoolConverter.cs
- DetailsViewRow.cs
- Walker.cs
- DropShadowBitmapEffect.cs
- ExpressionVisitor.cs
- NativeMethods.cs
- DataGridViewCellCancelEventArgs.cs
- WebServiceEndpoint.cs
- TreeViewHitTestInfo.cs
- DefaultSection.cs
- ScrollChrome.cs
- TabPage.cs
- XmlSchemaComplexType.cs
- ProxyWebPartConnectionCollection.cs
- PropertyGridView.cs
- EntityCollection.cs
- PriorityQueue.cs
- ParameterEditorUserControl.cs
- EventWaitHandle.cs
- ListenerChannelContext.cs
- SourceLineInfo.cs
- ProjectedWrapper.cs
- DataGridViewRowPrePaintEventArgs.cs
- ProbeMatchesMessageCD1.cs
- DataControlButton.cs
- AxisAngleRotation3D.cs
- MailWriter.cs
- ContainerParagraph.cs
- DataGridViewSelectedColumnCollection.cs
- DrawingVisualDrawingContext.cs
- DbReferenceCollection.cs
- ObjectViewFactory.cs
- CriticalFinalizerObject.cs
- TextEditorMouse.cs
- PersonalizationState.cs
- RemotingException.cs
- UpdatePanelTrigger.cs
- StylusButton.cs
- PeerNameRecordCollection.cs
- MessageSmuggler.cs
- TextContainer.cs
- WrappedIUnknown.cs
- WindowsGrip.cs
- TaskExtensions.cs
- DocumentApplicationJournalEntryEventArgs.cs
- ListManagerBindingsCollection.cs
- XmlAtomicValue.cs
- TextParagraphView.cs
- GridViewPageEventArgs.cs
- UserPreferenceChangedEventArgs.cs
- UserControl.cs
- HostedNamedPipeTransportManager.cs
- StateDesignerConnector.cs
- XmlQueryContext.cs
- ErrorsHelper.cs
- RelationshipEndMember.cs
- ThreadStaticAttribute.cs
- login.cs
- SpotLight.cs
- Parser.cs
- WebBrowserDocumentCompletedEventHandler.cs
- Normalization.cs
- MatrixCamera.cs
- PromptStyle.cs
- TemplatedMailWebEventProvider.cs