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
- FixedSOMPageElement.cs
- CodeMemberMethod.cs
- NullRuntimeConfig.cs
- SpotLight.cs
- HttpRequest.cs
- TrackingServices.cs
- DataList.cs
- XslTransform.cs
- WpfPayload.cs
- ScriptManagerProxy.cs
- GridItemCollection.cs
- Metadata.cs
- StaticContext.cs
- EventMappingSettingsCollection.cs
- EventMappingSettingsCollection.cs
- UniformGrid.cs
- CurrencyWrapper.cs
- GenericWebPart.cs
- ListItem.cs
- ItemsControlAutomationPeer.cs
- KerberosSecurityTokenAuthenticator.cs
- TargetControlTypeCache.cs
- StackBuilderSink.cs
- Nodes.cs
- CompModSwitches.cs
- DataQuery.cs
- CodeArrayCreateExpression.cs
- SchemaContext.cs
- ReverseInheritProperty.cs
- ExpressionBuilderContext.cs
- FragmentNavigationEventArgs.cs
- DoubleLinkListEnumerator.cs
- TextDpi.cs
- StaticContext.cs
- WindowsContainer.cs
- DataGridTable.cs
- MonitoringDescriptionAttribute.cs
- UrlAuthFailedErrorFormatter.cs
- AbstractDataSvcMapFileLoader.cs
- _DomainName.cs
- OptimizedTemplateContent.cs
- IdentityHolder.cs
- DocumentPageTextView.cs
- SqlDependencyUtils.cs
- EditorAttributeInfo.cs
- DataControlFieldHeaderCell.cs
- OneOf.cs
- ManipulationStartedEventArgs.cs
- SelectiveScrollingGrid.cs
- FlowDocumentReaderAutomationPeer.cs
- AppModelKnownContentFactory.cs
- SizeFConverter.cs
- QilUnary.cs
- SchemaInfo.cs
- coordinatorscratchpad.cs
- FatalException.cs
- DataFormats.cs
- SqlNodeAnnotations.cs
- Soap12FormatExtensions.cs
- TextServicesCompartment.cs
- Calendar.cs
- MapPathBasedVirtualPathProvider.cs
- DataRecordInternal.cs
- FrameAutomationPeer.cs
- FlowSwitchLink.cs
- PropertyNames.cs
- XmlSchemaImport.cs
- InputLanguage.cs
- ConfigXmlSignificantWhitespace.cs
- BmpBitmapDecoder.cs
- MSAAEventDispatcher.cs
- Focus.cs
- CommonServiceBehaviorElement.cs
- FutureFactory.cs
- SimpleHandlerFactory.cs
- XmlCharCheckingWriter.cs
- DetailsViewDeleteEventArgs.cs
- WindowsAuthenticationEventArgs.cs
- ExtentKey.cs
- OleDbDataAdapter.cs
- RegexEditorDialog.cs
- DataGridViewCheckBoxCell.cs
- NumericExpr.cs
- EntityDataReader.cs
- mansign.cs
- TailCallAnalyzer.cs
- BaseAddressPrefixFilterElementCollection.cs
- Emitter.cs
- XmlSiteMapProvider.cs
- FontWeights.cs
- XPathMultyIterator.cs
- WorkflowServiceBehavior.cs
- XMLDiffLoader.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ContentValidator.cs
- DataGridViewCellEventArgs.cs
- SmtpFailedRecipientException.cs
- TableCellCollection.cs
- WinEventHandler.cs
- XamlReader.cs