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
- ColorIndependentAnimationStorage.cs
- LinearGradientBrush.cs
- VBIdentifierName.cs
- SatelliteContractVersionAttribute.cs
- TrackingServices.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- SignalGate.cs
- EventProviderWriter.cs
- TreeBuilder.cs
- UnSafeCharBuffer.cs
- TextCharacters.cs
- RegexStringValidator.cs
- XmlSchemaSequence.cs
- RelationshipConstraintValidator.cs
- CompositeFontFamily.cs
- FlowDocumentPage.cs
- FileUtil.cs
- PrintPreviewGraphics.cs
- PipelineDeploymentState.cs
- FragmentQuery.cs
- Attributes.cs
- ProtocolsConfigurationHandler.cs
- AutomationProperties.cs
- HttpResponseHeader.cs
- FunctionImportMapping.cs
- MemberExpression.cs
- RecognizerInfo.cs
- Int16Animation.cs
- XmlDownloadManager.cs
- InvokeGenerator.cs
- Column.cs
- ValidationErrorCollection.cs
- LinkButton.cs
- BitmapMetadataEnumerator.cs
- XdrBuilder.cs
- Section.cs
- HtmlControlPersistable.cs
- DrawingBrush.cs
- BorderGapMaskConverter.cs
- ApplicationServicesHostFactory.cs
- XmlNullResolver.cs
- DefaultPrintController.cs
- ModifierKeysConverter.cs
- CalendarTable.cs
- PseudoWebRequest.cs
- RSATokenProvider.cs
- DataSourceControl.cs
- TextModifierScope.cs
- DataContractSerializer.cs
- PagedDataSource.cs
- FrameDimension.cs
- SqlBulkCopy.cs
- PingReply.cs
- M3DUtil.cs
- DateTimeConverter.cs
- XmlAttributes.cs
- TraceSwitch.cs
- _CacheStreams.cs
- _Semaphore.cs
- ClientSideProviderDescription.cs
- Substitution.cs
- XPathException.cs
- ListSourceHelper.cs
- DynamicILGenerator.cs
- NetStream.cs
- TreeNodeClickEventArgs.cs
- FileUpload.cs
- XmlDataContract.cs
- QilSortKey.cs
- OptimalBreakSession.cs
- FrameworkElementFactoryMarkupObject.cs
- DbConnectionStringBuilder.cs
- RoutedEvent.cs
- TextEditorCharacters.cs
- BroadcastEventHelper.cs
- EntityFunctions.cs
- RSAPKCS1SignatureDeformatter.cs
- XmlCharType.cs
- ProcessHost.cs
- DbConnectionPoolOptions.cs
- EventProperty.cs
- WCFServiceClientProxyGenerator.cs
- EncryptedPackage.cs
- MobileSysDescriptionAttribute.cs
- WrappingXamlSchemaContext.cs
- DataServiceProcessingPipelineEventArgs.cs
- OleDbError.cs
- MultiBindingExpression.cs
- PersistenceIOParticipant.cs
- RowUpdatedEventArgs.cs
- ConfigsHelper.cs
- DataSvcMapFile.cs
- ActivityScheduledRecord.cs
- ToolStripItemCollection.cs
- PackageDigitalSignature.cs
- DeviceSpecificDialogCachedState.cs
- ipaddressinformationcollection.cs
- UniqueConstraint.cs
- Typeface.cs
- ObjectDataSourceMethodEventArgs.cs