Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WinCategoryAttribute.cs
- NetStream.cs
- IsolatedStoragePermission.cs
- TextRangeAdaptor.cs
- MetadataArtifactLoaderFile.cs
- HandledEventArgs.cs
- SqlNotificationEventArgs.cs
- LocalIdKeyIdentifierClause.cs
- ControlFilterExpression.cs
- Pair.cs
- VersionedStream.cs
- BinaryMessageFormatter.cs
- ResizeGrip.cs
- PeerNameResolver.cs
- __FastResourceComparer.cs
- TableCell.cs
- StructureChangedEventArgs.cs
- CachingHintValidation.cs
- Stopwatch.cs
- XmlSerializerFactory.cs
- ConfigurationPropertyCollection.cs
- GC.cs
- unsafenativemethodsother.cs
- SimpleFieldTemplateUserControl.cs
- storepermissionattribute.cs
- CodeDirectiveCollection.cs
- FastPropertyAccessor.cs
- RelationshipNavigation.cs
- _CacheStreams.cs
- ThreadExceptionEvent.cs
- TriState.cs
- MetabaseSettings.cs
- NonParentingControl.cs
- InputScopeConverter.cs
- HttpWebRequestElement.cs
- ValidationSummary.cs
- ThreadStateException.cs
- XhtmlBasicValidationSummaryAdapter.cs
- SourceElementsCollection.cs
- Scripts.cs
- LinkClickEvent.cs
- OdbcConnectionOpen.cs
- MobileFormsAuthentication.cs
- SQLString.cs
- CompilerErrorCollection.cs
- TextDecorations.cs
- ExpandSegment.cs
- X509SubjectKeyIdentifierClause.cs
- LogRestartAreaEnumerator.cs
- HostedNamedPipeTransportManager.cs
- ScriptingJsonSerializationSection.cs
- ToolStripComboBox.cs
- InternalPermissions.cs
- ControlType.cs
- GrammarBuilderDictation.cs
- DocumentSequenceHighlightLayer.cs
- ConfigXmlElement.cs
- SqlServer2KCompatibilityCheck.cs
- AmbientProperties.cs
- KeyedByTypeCollection.cs
- AppSettingsSection.cs
- CmsUtils.cs
- ReadOnlyDictionary.cs
- ToolbarAUtomationPeer.cs
- XmlSchemaAnyAttribute.cs
- EventLogPermissionEntry.cs
- odbcmetadatacollectionnames.cs
- ArithmeticException.cs
- SlipBehavior.cs
- FieldBuilder.cs
- Object.cs
- DataSvcMapFile.cs
- ExtensionQuery.cs
- PersonalizableAttribute.cs
- TransformFinalBlockRequest.cs
- SQLRoleProvider.cs
- AlgoModule.cs
- StrongNameUtility.cs
- BlockCollection.cs
- DBCSCodePageEncoding.cs
- ComponentEditorForm.cs
- LoginCancelEventArgs.cs
- WebPartConnectionsConfigureVerb.cs
- XmlQueryTypeFactory.cs
- ClientBuildManagerCallback.cs
- BeginEvent.cs
- ProcessManager.cs
- NavigationProperty.cs
- X509CertificateInitiatorClientCredential.cs
- ClientBuildManager.cs
- ValidationResult.cs
- RegexGroupCollection.cs
- CultureMapper.cs
- ShadowGlyph.cs
- ButtonAutomationPeer.cs
- ExtendLockAsyncResult.cs
- ComboBox.cs
- TreeViewAutomationPeer.cs
- ByteViewer.cs
- PassportPrincipal.cs