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
- Model3DGroup.cs
- TableItemStyle.cs
- Effect.cs
- GenericWebPart.cs
- Converter.cs
- SessionIDManager.cs
- FastPropertyAccessor.cs
- OracleNumber.cs
- LinqMaximalSubtreeNominator.cs
- MasterPageBuildProvider.cs
- CodeCompileUnit.cs
- ConfigXmlSignificantWhitespace.cs
- Attributes.cs
- ConfigurationSectionCollection.cs
- HttpRequestWrapper.cs
- UnionExpr.cs
- RequestQueue.cs
- AdRotator.cs
- HttpPostedFile.cs
- AsyncWaitHandle.cs
- DataGridViewCell.cs
- ActivityStatusChangeEventArgs.cs
- SqlUdtInfo.cs
- TraceContextRecord.cs
- InternalException.cs
- PolicyStatement.cs
- BeginStoryboard.cs
- SQLRoleProvider.cs
- RoleServiceManager.cs
- HighlightOverlayGlyph.cs
- processwaithandle.cs
- TextBoxView.cs
- CodeArgumentReferenceExpression.cs
- TreeViewDataItemAutomationPeer.cs
- OdbcConnection.cs
- URLIdentityPermission.cs
- EventRecordWrittenEventArgs.cs
- HttpListenerResponse.cs
- AdvancedBindingPropertyDescriptor.cs
- HttpServerUtilityWrapper.cs
- XmlSchemaAnnotation.cs
- NonClientArea.cs
- HttpChannelBindingToken.cs
- CodeAttributeDeclarationCollection.cs
- HwndSourceKeyboardInputSite.cs
- Rotation3DKeyFrameCollection.cs
- KnowledgeBase.cs
- EntityWithKeyStrategy.cs
- DictionaryBase.cs
- ClientScriptManagerWrapper.cs
- HttpCookie.cs
- safesecurityhelperavalon.cs
- DtrList.cs
- FacetEnabledSchemaElement.cs
- RemotingException.cs
- RelatedCurrencyManager.cs
- ByeOperationAsyncResult.cs
- PixelFormats.cs
- RangeValuePatternIdentifiers.cs
- CompilerError.cs
- CodeAttributeDeclaration.cs
- MessageDecoder.cs
- ReadOnlyHierarchicalDataSource.cs
- Speller.cs
- MsmqIntegrationBindingElement.cs
- ShaderEffect.cs
- TextPattern.cs
- StringExpressionSet.cs
- PageThemeParser.cs
- CookielessHelper.cs
- KoreanLunisolarCalendar.cs
- WebDescriptionAttribute.cs
- SqlCharStream.cs
- CacheModeConverter.cs
- ExtenderProviderService.cs
- CriticalHandle.cs
- TextAdaptor.cs
- SqlParameterizer.cs
- GenericTextProperties.cs
- ConfigXmlCDataSection.cs
- UnitySerializationHolder.cs
- BroadcastEventHelper.cs
- SortKey.cs
- PermissionAttributes.cs
- AQNBuilder.cs
- EntityDataSourceConfigureObjectContext.cs
- DragEvent.cs
- Inflater.cs
- RTLAwareMessageBox.cs
- SafeHandles.cs
- EnumerableCollectionView.cs
- BaseParagraph.cs
- PersistenceException.cs
- SiteMapPath.cs
- SerializationSectionGroup.cs
- SecurityUtils.cs
- MessageAction.cs
- CancellationToken.cs
- ConsumerConnectionPoint.cs
- RuntimeWrappedException.cs