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
- ReferencedCollectionType.cs
- ExecutionContext.cs
- InvokeMethodActivityDesigner.cs
- NativeMethods.cs
- Internal.cs
- EntityType.cs
- SqlClientFactory.cs
- EncryptedKeyIdentifierClause.cs
- XslException.cs
- KnownAssemblyEntry.cs
- CultureInfoConverter.cs
- VoiceSynthesis.cs
- TraceListeners.cs
- ExternalCalls.cs
- TransformedBitmap.cs
- OracleTransaction.cs
- DataSourceSelectArguments.cs
- XamlValidatingReader.cs
- IdentityHolder.cs
- SqlSelectStatement.cs
- ListenerElementsCollection.cs
- XmlHierarchicalEnumerable.cs
- HeaderedItemsControl.cs
- OdbcInfoMessageEvent.cs
- ThemeInfoAttribute.cs
- ITextView.cs
- AppSettingsReader.cs
- TripleDES.cs
- AnnotationComponentChooser.cs
- LeafCellTreeNode.cs
- DataServiceRequest.cs
- XmlSchemaRedefine.cs
- DragDrop.cs
- HttpWebRequest.cs
- LinkedResourceCollection.cs
- PublisherMembershipCondition.cs
- QuaternionKeyFrameCollection.cs
- ValidatingCollection.cs
- EncoderParameters.cs
- InputMethod.cs
- GridViewCommandEventArgs.cs
- CompositionAdorner.cs
- LineBreak.cs
- SeverityFilter.cs
- NamespaceExpr.cs
- HealthMonitoringSection.cs
- MarkedHighlightComponent.cs
- DropDownButton.cs
- ButtonBase.cs
- NativeMethods.cs
- SqlTriggerContext.cs
- XPathSelfQuery.cs
- TextEndOfLine.cs
- Int64Animation.cs
- SystemIPAddressInformation.cs
- TextHidden.cs
- ButtonChrome.cs
- AuthenticationServiceManager.cs
- PointLight.cs
- RequiredAttributeAttribute.cs
- PointF.cs
- ListViewItem.cs
- RestHandlerFactory.cs
- Parameter.cs
- BitmapInitialize.cs
- HostedElements.cs
- HtmlInputImage.cs
- ConfigXmlCDataSection.cs
- Message.cs
- LinkedResourceCollection.cs
- UiaCoreProviderApi.cs
- DesignerActionHeaderItem.cs
- GridViewEditEventArgs.cs
- LocalizableAttribute.cs
- XPathNavigatorReader.cs
- SafeLibraryHandle.cs
- QilChoice.cs
- IPGlobalProperties.cs
- DebugInfo.cs
- userdatakeys.cs
- FullTextState.cs
- MLangCodePageEncoding.cs
- PointConverter.cs
- WorkflowExecutor.cs
- ComponentEditorPage.cs
- BinaryObjectWriter.cs
- Flattener.cs
- ChangeNode.cs
- WebContext.cs
- FontDialog.cs
- ParserHooks.cs
- UpdatePanelTrigger.cs
- TextRangeEdit.cs
- HtmlInputControl.cs
- EditorBrowsableAttribute.cs
- SequenceDesigner.cs
- TableHeaderCell.cs
- GroupStyle.cs
- SortedDictionary.cs
- HttpWebResponse.cs