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
- BamlBinaryReader.cs
- ObjectCache.cs
- DefaultValueAttribute.cs
- TemplateEditingService.cs
- XmlComplianceUtil.cs
- TaskFactory.cs
- _ShellExpression.cs
- TypeSystem.cs
- DataGridViewCheckBoxColumn.cs
- CodeAssignStatement.cs
- TableColumnCollection.cs
- LoginView.cs
- WindowsTreeView.cs
- EncoderBestFitFallback.cs
- Regex.cs
- EventOpcode.cs
- Int16Animation.cs
- ToolStripItem.cs
- CaseInsensitiveOrdinalStringComparer.cs
- XmlParserContext.cs
- StreamUpdate.cs
- CodeAttachEventStatement.cs
- EncryptedKey.cs
- NativeMethods.cs
- WebResponse.cs
- SchemaCollectionCompiler.cs
- GridEntryCollection.cs
- Calendar.cs
- Frame.cs
- BamlBinaryWriter.cs
- ListBox.cs
- Win32Native.cs
- ParserExtension.cs
- TabControlEvent.cs
- ToolStripGrip.cs
- GeneralTransform2DTo3DTo2D.cs
- HijriCalendar.cs
- OrderPreservingPipeliningMergeHelper.cs
- CellPartitioner.cs
- DoubleStorage.cs
- BigIntegerStorage.cs
- ListSortDescription.cs
- SecurityKeyIdentifier.cs
- AsyncPostBackErrorEventArgs.cs
- KeyGestureConverter.cs
- ResourceDescriptionAttribute.cs
- DataServiceQueryOfT.cs
- WebEvents.cs
- Brush.cs
- ManagementObjectSearcher.cs
- Propagator.Evaluator.cs
- Enum.cs
- Int32Converter.cs
- ImportContext.cs
- SubstitutionDesigner.cs
- DataGridDesigner.cs
- CompositeFontFamily.cs
- ReadOnlyHierarchicalDataSourceView.cs
- PageCatalogPart.cs
- VisualBasicExpressionConverter.cs
- GlobalizationSection.cs
- KeyFrames.cs
- MouseCaptureWithinProperty.cs
- SqlCacheDependencySection.cs
- FormViewCommandEventArgs.cs
- DrawingCollection.cs
- ImpersonationContext.cs
- XmlBinaryReader.cs
- RbTree.cs
- DataGridViewCellMouseEventArgs.cs
- VBCodeProvider.cs
- SupportsEventValidationAttribute.cs
- AutomationEvent.cs
- StreamUpdate.cs
- Size.cs
- OneOfScalarConst.cs
- TreeViewImageKeyConverter.cs
- Thickness.cs
- WsatStrings.cs
- ReflectEventDescriptor.cs
- EntityKey.cs
- NullRuntimeConfig.cs
- PeerIPHelper.cs
- tabpagecollectioneditor.cs
- SQLBinary.cs
- XmlSchemaAttributeGroupRef.cs
- CodeCatchClause.cs
- ActivationArguments.cs
- DocumentGridPage.cs
- DependencyPropertyKey.cs
- CodeArrayIndexerExpression.cs
- DataBindingCollection.cs
- CallbackValidator.cs
- GroupItem.cs
- DbTypeMap.cs
- StringArrayConverter.cs
- TdsParserHelperClasses.cs
- Int32CAMarshaler.cs
- PropertyItemInternal.cs
- Nodes.cs