Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebParts / WebPartDisplayModeCollection.cs / 2 / 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; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RandomNumberGenerator.cs
- LoadWorkflowByKeyAsyncResult.cs
- CurrencyWrapper.cs
- NativeRightsManagementAPIsStructures.cs
- Rotation3DAnimationBase.cs
- FileEnumerator.cs
- WebMessageFormatHelper.cs
- IgnoreSection.cs
- RowToFieldTransformer.cs
- ScriptingWebServicesSectionGroup.cs
- SafeRightsManagementPubHandle.cs
- HierarchicalDataBoundControlAdapter.cs
- AbandonedMutexException.cs
- iisPickupDirectory.cs
- SafeBuffer.cs
- JpegBitmapDecoder.cs
- Group.cs
- UTF32Encoding.cs
- ApplicationDirectoryMembershipCondition.cs
- KeySpline.cs
- AppModelKnownContentFactory.cs
- XmlSchemaSequence.cs
- RelatedCurrencyManager.cs
- SerialPort.cs
- WindowShowOrOpenTracker.cs
- HTMLTextWriter.cs
- ListCommandEventArgs.cs
- StructuralType.cs
- MasterPageBuildProvider.cs
- ObjectConverter.cs
- FloaterBaseParagraph.cs
- cookie.cs
- _Semaphore.cs
- securitycriticaldata.cs
- FaultHandlingFilter.cs
- DefaultTextStore.cs
- FixedSOMPageConstructor.cs
- FontClient.cs
- DataGridView.cs
- HttpApplication.cs
- TextBoxLine.cs
- WebPartMenuStyle.cs
- cookiecollection.cs
- ManipulationDelta.cs
- invalidudtexception.cs
- PersistChildrenAttribute.cs
- AtomServiceDocumentSerializer.cs
- Int32RectConverter.cs
- ActiveXSite.cs
- TaskFileService.cs
- RewritingSimplifier.cs
- Int32Converter.cs
- SiblingIterators.cs
- PixelFormats.cs
- TextWriterEngine.cs
- Constraint.cs
- sqlcontext.cs
- Helpers.cs
- GridViewSortEventArgs.cs
- WSHttpBindingCollectionElement.cs
- ZipFileInfo.cs
- AmbientProperties.cs
- EntitySet.cs
- XamlTypeMapper.cs
- KnownTypeAttribute.cs
- Walker.cs
- SqlBuffer.cs
- XmlILOptimizerVisitor.cs
- StreamingContext.cs
- UnsafeNativeMethods.cs
- BreakSafeBase.cs
- TreeNodeCollectionEditor.cs
- ImpersonationContext.cs
- InputScopeConverter.cs
- ProviderBase.cs
- SmtpLoginAuthenticationModule.cs
- LockRecursionException.cs
- SqlGenericUtil.cs
- PriorityItem.cs
- SuppressMergeCheckAttribute.cs
- DependencyObject.cs
- Panel.cs
- ProviderConnectionPoint.cs
- DbException.cs
- BaseUriWithWildcard.cs
- EventLogPermissionEntryCollection.cs
- SystemUnicastIPAddressInformation.cs
- ValidatingPropertiesEventArgs.cs
- Peer.cs
- EventLogPermission.cs
- TagMapInfo.cs
- Select.cs
- XmlChoiceIdentifierAttribute.cs
- JsonDeserializer.cs
- PropertyRef.cs
- _CookieModule.cs
- XmlSchemaAnnotated.cs
- ButtonFlatAdapter.cs
- Font.cs
- Brush.cs