Code:
/ FX-1434 / FX-1434 / 1.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
- FlowDocumentPage.cs
- PerfCounters.cs
- DesignerProperties.cs
- MemberAccessException.cs
- Margins.cs
- Rss20FeedFormatter.cs
- HMACMD5.cs
- TextEditorCharacters.cs
- FieldBuilder.cs
- CodeIndexerExpression.cs
- CompilerTypeWithParams.cs
- SequentialUshortCollection.cs
- EventMappingSettings.cs
- TitleStyle.cs
- BaseCollection.cs
- XmlSchemaGroupRef.cs
- CodeIdentifiers.cs
- TypedReference.cs
- FixedSOMTextRun.cs
- PublisherIdentityPermission.cs
- SqlMetaData.cs
- ServiceInstallComponent.cs
- PartialTrustVisibleAssemblyCollection.cs
- XhtmlBasicPageAdapter.cs
- DataControlFieldCollection.cs
- AuthenticationServiceManager.cs
- Slider.cs
- ToolStripButton.cs
- _FixedSizeReader.cs
- FixedDocument.cs
- ClientFormsIdentity.cs
- GenericParameterDataContract.cs
- X509CertificateValidator.cs
- SafeMarshalContext.cs
- TdsParser.cs
- SqlDependency.cs
- UrlUtility.cs
- IListConverters.cs
- HttpServerVarsCollection.cs
- ToolBarOverflowPanel.cs
- AuthenticatedStream.cs
- CfgParser.cs
- Parameter.cs
- HwndHost.cs
- KeyToListMap.cs
- SelectionEditor.cs
- DoubleMinMaxAggregationOperator.cs
- BigInt.cs
- Int16.cs
- Size.cs
- PeerOutputChannel.cs
- Int16AnimationUsingKeyFrames.cs
- AttachedAnnotationChangedEventArgs.cs
- SpanIndex.cs
- SByteConverter.cs
- Sql8ExpressionRewriter.cs
- LocalFileSettingsProvider.cs
- CreateRefExpr.cs
- ActiveXSerializer.cs
- DelegateSerializationHolder.cs
- IdentifierService.cs
- SapiRecoContext.cs
- OleDbTransaction.cs
- MapPathBasedVirtualPathProvider.cs
- OperandQuery.cs
- SafeUserTokenHandle.cs
- SqlUnionizer.cs
- HttpListenerException.cs
- NamedPipeProcessProtocolHandler.cs
- MenuItemBindingCollection.cs
- Part.cs
- RequiredAttributeAttribute.cs
- DataRecordInternal.cs
- XmlNullResolver.cs
- CaseStatementProjectedSlot.cs
- Encoder.cs
- Events.cs
- DesignOnlyAttribute.cs
- ButtonDesigner.cs
- unitconverter.cs
- SystemDiagnosticsSection.cs
- FontStretch.cs
- ParseElement.cs
- ImportCatalogPart.cs
- GradientBrush.cs
- ThrowHelper.cs
- BamlBinaryReader.cs
- TextComposition.cs
- ModelFunctionTypeElement.cs
- SmiXetterAccessMap.cs
- ConnectionsZone.cs
- CfgParser.cs
- ReferencedCollectionType.cs
- XmlMembersMapping.cs
- DictionaryBase.cs
- DataStreams.cs
- DrawingVisual.cs
- CompilationRelaxations.cs
- XmlRawWriterWrapper.cs
- RootAction.cs