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
- PageThemeCodeDomTreeGenerator.cs
- Property.cs
- BitArray.cs
- CodeCatchClause.cs
- ConstructorBuilder.cs
- DockProviderWrapper.cs
- Graph.cs
- TransactionInterop.cs
- LinkedDataMemberFieldEditor.cs
- SimpleNameService.cs
- QilFactory.cs
- SspiSafeHandles.cs
- GlobalizationSection.cs
- OracleSqlParser.cs
- MediaPlayerState.cs
- BaseTemplateBuildProvider.cs
- BooleanSwitch.cs
- SafeNativeMethods.cs
- ButtonColumn.cs
- List.cs
- Control.cs
- C14NUtil.cs
- PersonalizableTypeEntry.cs
- PresentationSource.cs
- cache.cs
- Label.cs
- DBDataPermission.cs
- MetadataUtil.cs
- CompatibleComparer.cs
- Compiler.cs
- DataServiceOperationContext.cs
- ProfileInfo.cs
- CodeAttributeDeclarationCollection.cs
- FixedDSBuilder.cs
- HMACSHA1.cs
- PropertyMapper.cs
- SerialErrors.cs
- TextBoxBase.cs
- ServiceReference.cs
- dbdatarecord.cs
- DayRenderEvent.cs
- Pair.cs
- NavigationFailedEventArgs.cs
- ImpersonationContext.cs
- Utils.cs
- ColumnProvider.cs
- ISAPIRuntime.cs
- GridViewSelectEventArgs.cs
- Page.cs
- HtmlSelectionListAdapter.cs
- NameValuePair.cs
- ViewStateException.cs
- PieceNameHelper.cs
- GridViewRowCollection.cs
- GraphicsState.cs
- ConfigurationLockCollection.cs
- ErrorFormatterPage.cs
- Grant.cs
- HierarchicalDataBoundControl.cs
- HelpFileFileNameEditor.cs
- ApplicationDirectoryMembershipCondition.cs
- ConnectionInterfaceCollection.cs
- Control.cs
- QilSortKey.cs
- SqlUtils.cs
- SoapHeaders.cs
- UrlMappingsModule.cs
- Grant.cs
- HttpListenerException.cs
- SubpageParagraph.cs
- DataBoundControlParameterTarget.cs
- ContainerParagraph.cs
- IntSecurity.cs
- ContextBase.cs
- ChannelBinding.cs
- SymmetricKey.cs
- PermissionSetEnumerator.cs
- HtmlElementCollection.cs
- BindingGraph.cs
- DefaultDialogButtons.cs
- XPathSelectionIterator.cs
- Image.cs
- LinqDataSourceStatusEventArgs.cs
- ResourceExpressionBuilder.cs
- BufferedOutputStream.cs
- WindowsAuthenticationModule.cs
- MetadataPropertyvalue.cs
- ReflectionUtil.cs
- XmlCharCheckingWriter.cs
- AliasedExpr.cs
- GeneralTransform.cs
- ComplexBindingPropertiesAttribute.cs
- HtmlInputCheckBox.cs
- GroupBox.cs
- DependencyPropertyChangedEventArgs.cs
- Visual3D.cs
- SortDescriptionCollection.cs
- OrderedDictionary.cs
- MsmqIntegrationElement.cs
- ClientConvert.cs