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
- AnimatedTypeHelpers.cs
- TemplatedMailWebEventProvider.cs
- CalendarData.cs
- ManipulationDeltaEventArgs.cs
- LocalTransaction.cs
- HyperLinkStyle.cs
- WSSecurityTokenSerializer.cs
- transactioncontext.cs
- SystemUdpStatistics.cs
- PagerSettings.cs
- DateTimeFormat.cs
- RSAOAEPKeyExchangeFormatter.cs
- StateMachineDesignerPaint.cs
- TreeViewDesigner.cs
- OverflowException.cs
- PeerTransportElement.cs
- StrokeCollection2.cs
- EdmFunction.cs
- SiteMembershipCondition.cs
- URIFormatException.cs
- CheckableControlBaseAdapter.cs
- mil_commands.cs
- PluralizationService.cs
- HttpPostProtocolReflector.cs
- DesignerToolStripControlHost.cs
- ObjectContextServiceProvider.cs
- FileSystemInfo.cs
- Util.cs
- ListBox.cs
- DefaultPrintController.cs
- TreeNodeStyle.cs
- SoapElementAttribute.cs
- HandleCollector.cs
- XsltOutput.cs
- MsmqReceiveHelper.cs
- MediaTimeline.cs
- IndentedTextWriter.cs
- ParameterToken.cs
- RC2CryptoServiceProvider.cs
- MailBnfHelper.cs
- Rect.cs
- PositiveTimeSpanValidator.cs
- CompiledRegexRunner.cs
- ToolConsole.cs
- DependencyObject.cs
- CodeTypeReference.cs
- Activator.cs
- Decimal.cs
- ObjectDataProvider.cs
- IpcClientChannel.cs
- TreeView.cs
- StrongNameMembershipCondition.cs
- RichTextBox.cs
- ComplexType.cs
- SystemIPGlobalStatistics.cs
- ToolStripSplitButton.cs
- TextEditorTyping.cs
- FastEncoder.cs
- NonSerializedAttribute.cs
- StylusShape.cs
- ParsedAttributeCollection.cs
- IdentityNotMappedException.cs
- Rotation3D.cs
- CategoryGridEntry.cs
- SubordinateTransaction.cs
- XPathDescendantIterator.cs
- DbProviderFactory.cs
- ExpressionCopier.cs
- OdbcErrorCollection.cs
- X509KeyIdentifierClauseType.cs
- XslNumber.cs
- Subtree.cs
- DataControlFieldCell.cs
- FacetValues.cs
- TypedReference.cs
- DataPagerField.cs
- AppModelKnownContentFactory.cs
- AttributeUsageAttribute.cs
- SingleResultAttribute.cs
- SqlMethodAttribute.cs
- StrokeIntersection.cs
- BatchWriter.cs
- LineGeometry.cs
- _AutoWebProxyScriptWrapper.cs
- EnumType.cs
- DBNull.cs
- DocumentXmlWriter.cs
- SpellCheck.cs
- CredentialCache.cs
- UInt16Converter.cs
- MobileListItem.cs
- WeakEventManager.cs
- Highlights.cs
- DecimalStorage.cs
- ConfigXmlText.cs
- EventPropertyMap.cs
- EmissiveMaterial.cs
- RectangleF.cs
- DeviceFiltersSection.cs
- webbrowsersite.cs