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
- UIElementHelper.cs
- Directory.cs
- TagPrefixAttribute.cs
- StringFormat.cs
- PermissionRequestEvidence.cs
- HasCopySemanticsAttribute.cs
- XmlSchemaSubstitutionGroup.cs
- Operand.cs
- TextWriterEngine.cs
- SafeThemeHandle.cs
- SqlProviderServices.cs
- DirectoryNotFoundException.cs
- FormatConvertedBitmap.cs
- DataSourceControl.cs
- EncryptedData.cs
- RegisteredScript.cs
- DelegatingStream.cs
- UTF7Encoding.cs
- PropertyMetadata.cs
- TableLayoutColumnStyleCollection.cs
- UnionCodeGroup.cs
- Grant.cs
- TrackingLocation.cs
- TypedMessageConverter.cs
- ConnectionPointCookie.cs
- PrtCap_Builder.cs
- MemberAccessException.cs
- _UriSyntax.cs
- DynamicRouteExpression.cs
- TextBox.cs
- TextTrailingWordEllipsis.cs
- DataGridViewDataConnection.cs
- AuthorizationContext.cs
- HMACSHA384.cs
- SystemIPv4InterfaceProperties.cs
- BaseParser.cs
- SqlDataSourceCommandEventArgs.cs
- ApplicationFileCodeDomTreeGenerator.cs
- TextTreeExtractElementUndoUnit.cs
- XpsManager.cs
- ISessionStateStore.cs
- InternalsVisibleToAttribute.cs
- AssertFilter.cs
- GeneralTransform.cs
- DashStyle.cs
- TreeNodeBindingCollection.cs
- PrePostDescendentsWalker.cs
- FileUtil.cs
- HtmlWindow.cs
- ReadOnlyDictionary.cs
- Comparer.cs
- WinCategoryAttribute.cs
- SelectionProcessor.cs
- PolicyException.cs
- LineBreakRecord.cs
- EnumerableCollectionView.cs
- PtsContext.cs
- NotFiniteNumberException.cs
- GridViewEditEventArgs.cs
- TaskbarItemInfo.cs
- DropDownList.cs
- Evaluator.cs
- MultiBindingExpression.cs
- SoapObjectReader.cs
- Timeline.cs
- BamlResourceSerializer.cs
- AccessViolationException.cs
- LineServices.cs
- CommentAction.cs
- shaperfactoryquerycachekey.cs
- ResizeGrip.cs
- BaseDataList.cs
- FontSizeConverter.cs
- ReturnEventArgs.cs
- BooleanExpr.cs
- TextParaClient.cs
- DataRelationPropertyDescriptor.cs
- RemotingConfiguration.cs
- InkCanvasInnerCanvas.cs
- TraceEventCache.cs
- LocalServiceSecuritySettings.cs
- SqlServer2KCompatibilityCheck.cs
- LinqToSqlWrapper.cs
- LifetimeServices.cs
- MimeXmlReflector.cs
- CategoryGridEntry.cs
- AutoSizeComboBox.cs
- HierarchicalDataSourceControl.cs
- SnapshotChangeTrackingStrategy.cs
- RemotingServices.cs
- CounterCreationData.cs
- XsltInput.cs
- DependencyPropertyKey.cs
- SubMenuStyle.cs
- nulltextcontainer.cs
- ValidationManager.cs
- ArgumentValidation.cs
- NativeCppClassAttribute.cs
- ToggleButtonAutomationPeer.cs
- DataSourceCacheDurationConverter.cs