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
- SingleKeyFrameCollection.cs
- OleDbParameter.cs
- GatewayDefinition.cs
- SoapHttpTransportImporter.cs
- CrossAppDomainChannel.cs
- ConversionContext.cs
- ToolStripProgressBar.cs
- ValidationErrorCollection.cs
- ShapingEngine.cs
- ObjectListComponentEditor.cs
- TableCell.cs
- StaticSiteMapProvider.cs
- SchemaTableOptionalColumn.cs
- PartitionedStreamMerger.cs
- FormViewUpdatedEventArgs.cs
- XmlSchemaAnnotated.cs
- Scheduler.cs
- QilDataSource.cs
- FormViewUpdateEventArgs.cs
- System.Data.OracleClient_BID.cs
- TcpAppDomainProtocolHandler.cs
- FixedDSBuilder.cs
- TargetFrameworkUtil.cs
- Matrix3D.cs
- XmlBindingWorker.cs
- PathData.cs
- TransformationRules.cs
- DynamicDataResources.Designer.cs
- DataMisalignedException.cs
- SrgsDocumentParser.cs
- SpStreamWrapper.cs
- TemplateBindingExtension.cs
- CustomActivityDesigner.cs
- IsolatedStorageFileStream.cs
- DataStorage.cs
- Vector3D.cs
- RouteData.cs
- PropertyEmitter.cs
- ProfileParameter.cs
- DependencyProperty.cs
- ContractBase.cs
- DescendantOverDescendantQuery.cs
- EntityDataSourceChangingEventArgs.cs
- ClusterRegistryConfigurationProvider.cs
- CellTreeNodeVisitors.cs
- RegistryExceptionHelper.cs
- graph.cs
- CompilationRelaxations.cs
- OlePropertyStructs.cs
- ContentWrapperAttribute.cs
- DataPagerFieldCommandEventArgs.cs
- ProxyGenerationError.cs
- PathGradientBrush.cs
- CodeMemberEvent.cs
- Brushes.cs
- EarlyBoundInfo.cs
- Comparer.cs
- DateTimeOffsetConverter.cs
- JapaneseLunisolarCalendar.cs
- ComEventsSink.cs
- Repeater.cs
- OneToOneMappingSerializer.cs
- ExtensionQuery.cs
- WebPartConnection.cs
- EarlyBoundInfo.cs
- SqlDelegatedTransaction.cs
- Win32.cs
- EventListener.cs
- LinkTarget.cs
- SurrogateSelector.cs
- ListViewHitTestInfo.cs
- XmlElementCollection.cs
- Polygon.cs
- KeySplineConverter.cs
- Size.cs
- xsdvalidator.cs
- IPipelineRuntime.cs
- TransactionState.cs
- SmiXetterAccessMap.cs
- PropertyMap.cs
- TemplateBindingExpressionConverter.cs
- PropertyItemInternal.cs
- Binding.cs
- Rotation3D.cs
- PtsCache.cs
- TextBreakpoint.cs
- NodeFunctions.cs
- ExpandedProjectionNode.cs
- HostingEnvironment.cs
- MenuItem.cs
- SocketStream.cs
- MultipleViewPattern.cs
- OAVariantLib.cs
- DBSchemaTable.cs
- TextServicesPropertyRanges.cs
- DataGridViewAdvancedBorderStyle.cs
- DependencyPropertyKind.cs
- SelectManyQueryOperator.cs
- SmtpAuthenticationManager.cs
- XmlAutoDetectWriter.cs