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
- SqlRewriteScalarSubqueries.cs
- ConfigurationValidatorAttribute.cs
- FunctionDescription.cs
- HtmlInputPassword.cs
- PointCollectionConverter.cs
- MemberRestriction.cs
- MemberHolder.cs
- SqlNotificationEventArgs.cs
- ListViewGroupItemCollection.cs
- DragCompletedEventArgs.cs
- IItemProperties.cs
- oledbconnectionstring.cs
- SchemeSettingElementCollection.cs
- TrustLevelCollection.cs
- ActivityMarkupSerializationProvider.cs
- BaseCollection.cs
- ListViewCancelEventArgs.cs
- DataPagerCommandEventArgs.cs
- XmlSigningNodeWriter.cs
- _ConnectStream.cs
- WindowsScrollBar.cs
- PageCatalogPartDesigner.cs
- PointAnimationUsingPath.cs
- DataStorage.cs
- MsmqBindingMonitor.cs
- DirectoryObjectSecurity.cs
- PerformanceCounterPermission.cs
- StatusBarPanelClickEvent.cs
- unsafeIndexingFilterStream.cs
- CapiHashAlgorithm.cs
- Panel.cs
- DelegateBodyWriter.cs
- WebUtil.cs
- PropertyToken.cs
- DPTypeDescriptorContext.cs
- RepeaterDesigner.cs
- CustomAttributeFormatException.cs
- InvalidComObjectException.cs
- HistoryEventArgs.cs
- CacheMemory.cs
- CustomTypeDescriptor.cs
- DatagramAdapter.cs
- XmlSerializerOperationFormatter.cs
- ParenthesizePropertyNameAttribute.cs
- DBCommandBuilder.cs
- XmlSchemaComplexContent.cs
- TextEditor.cs
- TdsEnums.cs
- ObjectParameter.cs
- SqlNotificationRequest.cs
- DataGridViewCellStyleConverter.cs
- ProviderUtil.cs
- DefaultValueMapping.cs
- HMACSHA256.cs
- DataSourceGeneratorException.cs
- AgileSafeNativeMemoryHandle.cs
- ManipulationInertiaStartingEventArgs.cs
- ElementHostPropertyMap.cs
- RecordBuilder.cs
- ObjectTokenCategory.cs
- GcHandle.cs
- X509ChainPolicy.cs
- XmlSchemaAnyAttribute.cs
- XPathQueryGenerator.cs
- IdentityNotMappedException.cs
- ConstructorBuilder.cs
- DataGridViewEditingControlShowingEventArgs.cs
- Image.cs
- HttpCacheParams.cs
- SimpleMailWebEventProvider.cs
- ProfileSection.cs
- TimeSpanSecondsConverter.cs
- ZoneIdentityPermission.cs
- ContextProperty.cs
- CardSpaceException.cs
- GroupBox.cs
- SerializationObjectManager.cs
- AspNetHostingPermission.cs
- UnSafeCharBuffer.cs
- SqlBuffer.cs
- GradientBrush.cs
- XmlLangPropertyAttribute.cs
- Unit.cs
- Trace.cs
- NegotiateStream.cs
- DependencyPropertyKey.cs
- filewebrequest.cs
- DataView.cs
- TemplateEditingFrame.cs
- CannotUnloadAppDomainException.cs
- StreamHelper.cs
- FilteredXmlReader.cs
- DataGridViewTextBoxCell.cs
- Version.cs
- XmlSortKey.cs
- FormatConvertedBitmap.cs
- OleDbRowUpdatingEvent.cs
- DataGridViewHitTestInfo.cs
- MasterPageParser.cs
- TextDecoration.cs