Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / 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. //------------------------------------------------------------------------------ //// 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
- VoiceObjectToken.cs
- TextSelection.cs
- EventLogPermissionEntryCollection.cs
- ObjectSet.cs
- TextWriterTraceListener.cs
- Rect.cs
- Certificate.cs
- TemplateContentLoader.cs
- QilXmlReader.cs
- ClientSettingsStore.cs
- MatrixConverter.cs
- GlobalizationAssembly.cs
- OperandQuery.cs
- LayoutEvent.cs
- PropertyChangedEventArgs.cs
- TableLayoutPanelCodeDomSerializer.cs
- StagingAreaInputItem.cs
- RuntimeIdentifierPropertyAttribute.cs
- ImpersonationContext.cs
- MessageEnumerator.cs
- PeerUnsafeNativeCryptMethods.cs
- PathTooLongException.cs
- X509Certificate2Collection.cs
- SoapInteropTypes.cs
- ViewgenContext.cs
- RC2CryptoServiceProvider.cs
- CapabilitiesSection.cs
- TreeNodeBindingCollection.cs
- WindowsContainer.cs
- NTAccount.cs
- LocalValueEnumerator.cs
- COAUTHIDENTITY.cs
- ContentWrapperAttribute.cs
- RootBrowserWindowProxy.cs
- DesigntimeLicenseContextSerializer.cs
- DataTableNewRowEvent.cs
- ConnectionPoint.cs
- TextEndOfSegment.cs
- TableLayoutPanelCodeDomSerializer.cs
- ObjectCacheHost.cs
- GridLengthConverter.cs
- Module.cs
- AssemblyAttributes.cs
- QuadraticEase.cs
- ImageField.cs
- FactoryId.cs
- Selection.cs
- TableRowGroupCollection.cs
- UserControlParser.cs
- EntityContainer.cs
- UnsafeNativeMethods.cs
- CustomAssemblyResolver.cs
- _AutoWebProxyScriptHelper.cs
- NamedObject.cs
- EarlyBoundInfo.cs
- ReaderWriterLock.cs
- SafeNativeMethodsOther.cs
- InvalidWMPVersionException.cs
- IpcPort.cs
- XmlDownloadManager.cs
- HostElement.cs
- ResourceSetExpression.cs
- ExpandSegmentCollection.cs
- RijndaelCryptoServiceProvider.cs
- StylusPointPropertyInfo.cs
- ScriptIgnoreAttribute.cs
- BamlVersionHeader.cs
- XmlSchemaNotation.cs
- DoubleCollectionValueSerializer.cs
- TextBox.cs
- Bold.cs
- HtmlContainerControl.cs
- ControlAdapter.cs
- WebPartTracker.cs
- ProtocolsConfiguration.cs
- QueryExtender.cs
- DeploymentExceptionMapper.cs
- DataGridViewButtonCell.cs
- HtmlUtf8RawTextWriter.cs
- Environment.cs
- XmlIterators.cs
- CodeIdentifier.cs
- XD.cs
- XsdDuration.cs
- RepeatButton.cs
- DataGridCellEditEndingEventArgs.cs
- HttpModulesInstallComponent.cs
- XPathMultyIterator.cs
- GenericRootAutomationPeer.cs
- PerfCounterSection.cs
- PKCS1MaskGenerationMethod.cs
- PolicyLevel.cs
- ipaddressinformationcollection.cs
- Translator.cs
- WMIGenerator.cs
- CheckPair.cs
- ImageMetadata.cs
- ManipulationDeltaEventArgs.cs
- JavaScriptObjectDeserializer.cs
- PnrpPeerResolver.cs