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
- SafeNativeMethods.cs
- TemplateBamlRecordReader.cs
- SignatureToken.cs
- XmlRawWriter.cs
- WrapPanel.cs
- XPathNodeIterator.cs
- OutputWindow.cs
- ListBox.cs
- ItemsPresenter.cs
- GenericRootAutomationPeer.cs
- EncodingStreamWrapper.cs
- ResourcesChangeInfo.cs
- XslTransformFileEditor.cs
- TextEvent.cs
- PhoneCallDesigner.cs
- BrowserCapabilitiesFactoryBase.cs
- XmlCDATASection.cs
- DBSchemaRow.cs
- WindowsTitleBar.cs
- Adorner.cs
- DesignSurfaceCollection.cs
- DesignerAttribute.cs
- QilPatternFactory.cs
- GregorianCalendar.cs
- PageEventArgs.cs
- GPRECT.cs
- DiscardableAttribute.cs
- DataServiceStreamProviderWrapper.cs
- TargetException.cs
- BlurBitmapEffect.cs
- AssemblyBuilderData.cs
- ColumnMapCopier.cs
- WebRequestModuleElementCollection.cs
- PassportIdentity.cs
- DelegatingStream.cs
- FixUp.cs
- GridErrorDlg.cs
- ChildTable.cs
- ObjectTokenCategory.cs
- BorderSidesEditor.cs
- Base64Stream.cs
- ClientSettingsProvider.cs
- QueueProcessor.cs
- ConnectionStringEditor.cs
- CheckedPointers.cs
- EntityConnection.cs
- ContentIterators.cs
- Terminate.cs
- ZipIOFileItemStream.cs
- Propagator.Evaluator.cs
- RelationshipEndCollection.cs
- ProfileGroupSettingsCollection.cs
- ComplexPropertyEntry.cs
- CacheOutputQuery.cs
- XmlNotation.cs
- ProcessInfo.cs
- ToolStripItemBehavior.cs
- CookieParameter.cs
- DictionaryMarkupSerializer.cs
- ContextMenuStrip.cs
- documentsequencetextpointer.cs
- ComContractElement.cs
- CmsInterop.cs
- LoginUtil.cs
- SocketInformation.cs
- ZipIORawDataFileBlock.cs
- complextypematerializer.cs
- DataGridViewLayoutData.cs
- InputLangChangeRequestEvent.cs
- DataGridRowDetailsEventArgs.cs
- CoTaskMemSafeHandle.cs
- LiteralLink.cs
- Constant.cs
- PropertyChangedEventArgs.cs
- FixedNode.cs
- ReverseComparer.cs
- WindowInteropHelper.cs
- DataGridViewLinkColumn.cs
- WebPartAuthorizationEventArgs.cs
- ObjectFullSpanRewriter.cs
- TCPListener.cs
- SelfIssuedAuthRSAPKCS1SignatureDeformatter.cs
- RandomNumberGenerator.cs
- SrgsRulesCollection.cs
- LambdaCompiler.Generated.cs
- ConcurrentStack.cs
- NumericUpDown.cs
- TableRowCollection.cs
- WindowsListBox.cs
- VirtualPathProvider.cs
- Base64Encoder.cs
- TaskExtensions.cs
- ControlCachePolicy.cs
- ExtensionSimplifierMarkupObject.cs
- WriteStateInfoBase.cs
- ViewCellRelation.cs
- ExternalException.cs
- TextProperties.cs
- OrderedDictionaryStateHelper.cs
- XPathCompileException.cs