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
- ToolStripItemTextRenderEventArgs.cs
- CreateDataSourceDialog.cs
- TypeGeneratedEventArgs.cs
- ServicePointManagerElement.cs
- SettingsAttributes.cs
- DBBindings.cs
- DictationGrammar.cs
- SpellerStatusTable.cs
- ImageCreator.cs
- MultiViewDesigner.cs
- UpdatableGenericsFeature.cs
- BaseUriHelper.cs
- ImageCodecInfoPrivate.cs
- columnmapkeybuilder.cs
- CaseKeyBox.xaml.cs
- EntityReference.cs
- ListViewItem.cs
- Queue.cs
- ListenerServiceInstallComponent.cs
- TabControl.cs
- HtmlTableCell.cs
- RawStylusInputCustomData.cs
- SqlServices.cs
- LineSegment.cs
- StorageEntityTypeMapping.cs
- StreamGeometry.cs
- UnsafePeerToPeerMethods.cs
- MdiWindowListStrip.cs
- ComUdtElement.cs
- CodeDOMUtility.cs
- WebResourceUtil.cs
- WindowsIPAddress.cs
- MachineKeyConverter.cs
- HebrewNumber.cs
- RunWorkerCompletedEventArgs.cs
- EntityCommandDefinition.cs
- DecimalAnimationUsingKeyFrames.cs
- XmlElementAttributes.cs
- AtomEntry.cs
- CursorConverter.cs
- TextRangeBase.cs
- EastAsianLunisolarCalendar.cs
- ClientBuildManagerCallback.cs
- WebPartDeleteVerb.cs
- GradientBrush.cs
- VBIdentifierTrimConverter.cs
- ChannelProtectionRequirements.cs
- HMACSHA256.cs
- TextRangeAdaptor.cs
- RelativeSource.cs
- EUCJPEncoding.cs
- PropertyPathWorker.cs
- BaseTemplateParser.cs
- GroupAggregateExpr.cs
- ListBoxAutomationPeer.cs
- SqlUserDefinedAggregateAttribute.cs
- HandledMouseEvent.cs
- XmlDeclaration.cs
- Version.cs
- NonSerializedAttribute.cs
- IdentityNotMappedException.cs
- SemanticResultKey.cs
- PathGeometry.cs
- OptimizedTemplateContentHelper.cs
- EFColumnProvider.cs
- UnrecognizedAssertionsBindingElement.cs
- VerticalAlignConverter.cs
- HTTPNotFoundHandler.cs
- FlowPosition.cs
- Selection.cs
- SqlFactory.cs
- Freezable.cs
- PeerCollaboration.cs
- WindowsImpersonationContext.cs
- LineGeometry.cs
- IsolatedStoragePermission.cs
- TraceHandler.cs
- FormsAuthenticationModule.cs
- JsonEnumDataContract.cs
- RecordConverter.cs
- Predicate.cs
- CompoundFileReference.cs
- MulticastDelegate.cs
- Funcletizer.cs
- WebPartExportVerb.cs
- BaseAsyncResult.cs
- ClientUrlResolverWrapper.cs
- MarkupExtensionReturnTypeAttribute.cs
- SynchronizationContext.cs
- TextHidden.cs
- WebConfigurationManager.cs
- SetStoryboardSpeedRatio.cs
- EpmAttributeNameBuilder.cs
- ByteArrayHelperWithString.cs
- GeneratedView.cs
- TextEditorMouse.cs
- DbConnectionStringBuilder.cs
- BreakRecordTable.cs
- XPathScanner.cs
- PageRequestManager.cs