Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebParts / WebPartDisplayModeCollection.cs / 1305376 / WebPartDisplayModeCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls.WebParts { using System; using System.Collections; 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LinearGradientBrush.cs
- WizardPanelChangingEventArgs.cs
- FieldCollectionEditor.cs
- WorkflowRuntimeServiceElement.cs
- FrameworkElement.cs
- BitmapSource.cs
- PrintDialogException.cs
- HtmlImage.cs
- SupportsEventValidationAttribute.cs
- DummyDataSource.cs
- keycontainerpermission.cs
- SqlInternalConnection.cs
- TimeSpanMinutesConverter.cs
- TextContainerChangeEventArgs.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- DrawToolTipEventArgs.cs
- XPathNodeHelper.cs
- ReadOnlyPropertyMetadata.cs
- HttpConfigurationSystem.cs
- DrawItemEvent.cs
- XmlNullResolver.cs
- AnnotationMap.cs
- CodeTypeDeclarationCollection.cs
- TabRenderer.cs
- ChannelBinding.cs
- SmtpNetworkElement.cs
- _NtlmClient.cs
- DocumentPageHost.cs
- ParameterToken.cs
- SafeRightsManagementSessionHandle.cs
- StackSpiller.Generated.cs
- SessionStateSection.cs
- ObjectQueryState.cs
- UriTemplateMatch.cs
- WindowAutomationPeer.cs
- TemplatedWizardStep.cs
- WebPartDesigner.cs
- DataRecordInternal.cs
- FunctionImportMapping.cs
- MsmqDecodeHelper.cs
- HexParser.cs
- StreamGeometry.cs
- SettingsSection.cs
- RealizationDrawingContextWalker.cs
- ModuleElement.cs
- HttpListenerResponse.cs
- InfocardExtendedInformationEntry.cs
- HostedTransportConfigurationBase.cs
- XmlSchemaAll.cs
- ModelItem.cs
- MDIClient.cs
- WebPartCollection.cs
- GPPOINT.cs
- PasswordTextNavigator.cs
- RadioButtonFlatAdapter.cs
- HatchBrush.cs
- DbConnectionPoolCounters.cs
- DocumentViewerBaseAutomationPeer.cs
- MimeFormatter.cs
- SubclassTypeValidatorAttribute.cs
- SqlConnectionStringBuilder.cs
- FormViewModeEventArgs.cs
- SafePEFileHandle.cs
- CacheOutputQuery.cs
- KeyNotFoundException.cs
- HtmlContainerControl.cs
- XmlProcessingInstruction.cs
- ResourcePermissionBaseEntry.cs
- WebPartHeaderCloseVerb.cs
- SuppressMessageAttribute.cs
- CompilationLock.cs
- HitTestParameters.cs
- TrustManager.cs
- DataGridViewRowCancelEventArgs.cs
- TimeSpanValidator.cs
- TableCellCollection.cs
- OpCodes.cs
- InstanceHandleConflictException.cs
- HttpResponseMessageProperty.cs
- SafeThreadHandle.cs
- MenuItemCollectionEditorDialog.cs
- SmiRequestExecutor.cs
- RuleConditionDialog.Designer.cs
- ReadWriteObjectLock.cs
- TemplatePropertyEntry.cs
- ListBoxDesigner.cs
- XamlBrushSerializer.cs
- LateBoundBitmapDecoder.cs
- LogEntrySerializer.cs
- BlockingCollection.cs
- ImageInfo.cs
- ConfigurationException.cs
- DetailsViewInsertedEventArgs.cs
- ExtensionSimplifierMarkupObject.cs
- FastEncoderWindow.cs
- PreviewPageInfo.cs
- DeadCharTextComposition.cs
- XsltSettings.cs
- FunctionDescription.cs
- Brush.cs