Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebParts / WebPartConnectionCollection.cs / 1 / WebPartConnectionCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls.WebParts { using System; using System.Collections; using System.ComponentModel; using System.Drawing.Design; using System.Globalization; using System.Security.Permissions; using System.Web.Util; // [ Editor("System.ComponentModel.Design.CollectionEditor, " + AssemblyRef.SystemDesign, typeof(UITypeEditor)) ] [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class WebPartConnectionCollection : CollectionBase { private bool _readOnly; private string _readOnlyExceptionMessage; private WebPartManager _webPartManager; internal WebPartConnectionCollection(WebPartManager webPartManager) { _webPartManager = webPartManager; } public bool IsReadOnly { get { return _readOnly; } } ////// Returns the WebPartConnection at a given index. /// public WebPartConnection this[int index] { get { return (WebPartConnection)List[index]; } set { List[index] = value; } } ////// Returns the WebPartConnection with the specified id, performing a case-insensitive comparison. /// Returns null if there are no matches. /// public WebPartConnection this[string id] { // PERF: Use a hashtable for lookup, instead of a linear search get { foreach (WebPartConnection connection in List) { if (String.Equals(connection.ID, id, StringComparison.OrdinalIgnoreCase)) { return connection; } } return null; } } ////// Adds a Connection to the collection. /// public int Add(WebPartConnection value) { return List.Add(value); } private void CheckReadOnly() { if (_readOnly) { throw new InvalidOperationException(SR.GetString(_readOnlyExceptionMessage)); } } ////// True if the WebPartConnection is contained in the collection. /// public bool Contains(WebPartConnection value) { return List.Contains(value); } internal bool ContainsProvider(WebPart provider) { foreach (WebPartConnection connection in List) { if (connection.Provider == provider) { return true; } } return false; } public void CopyTo(WebPartConnection[] array, int index) { List.CopyTo(array, index); } public int IndexOf(WebPartConnection value) { return List.IndexOf(value); } ////// Inserts a WebPartConnection into the collection. /// public void Insert(int index, WebPartConnection value) { List.Insert(index, value); } ////// protected override void OnClear() { CheckReadOnly(); base.OnClear(); } protected override void OnInsert(int index, object value) { CheckReadOnly(); ((WebPartConnection)value).SetWebPartManager(_webPartManager); base.OnInsert(index, value); } protected override void OnRemove(int index, object value) { CheckReadOnly(); ((WebPartConnection)value).SetWebPartManager(null); base.OnRemove(index, value); } protected override void OnSet(int index, object oldValue, object newValue) { CheckReadOnly(); ((WebPartConnection)oldValue).SetWebPartManager(null); ((WebPartConnection)newValue).SetWebPartManager(_webPartManager); base.OnSet(index, oldValue, newValue); } ////// Validates that an object is a WebPartConnection. /// protected override void OnValidate(object value) { base.OnValidate(value); if (value == null) { throw new ArgumentNullException("value", SR.GetString(SR.Collection_CantAddNull)); } if (!(value is WebPartConnection)) { throw new ArgumentException(SR.GetString(SR.Collection_InvalidType, "WebPartConnection"), "value"); } } ////// Removes a WebPartConnection from the collection. /// public void Remove(WebPartConnection value) { List.Remove(value); } ////// Marks the collection readonly. This is useful, because we assume that the list /// of static connections is known at Init time, and new connections are added /// through the WebPartManager. /// 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
- _CacheStreams.cs
- LoggedException.cs
- DocumentXmlWriter.cs
- MdImport.cs
- HttpProfileGroupBase.cs
- CompressionTransform.cs
- CodeObject.cs
- ScrollItemPattern.cs
- ModelPropertyDescriptor.cs
- XamlGridLengthSerializer.cs
- Propagator.Evaluator.cs
- CustomError.cs
- ProcessHostServerConfig.cs
- EventListenerClientSide.cs
- HtmlButton.cs
- FontSizeConverter.cs
- BamlRecordHelper.cs
- DiscoveryDocumentLinksPattern.cs
- DataTableCollection.cs
- ConditionBrowserDialog.cs
- DispatcherExceptionFilterEventArgs.cs
- NativeMethods.cs
- PermissionSetTriple.cs
- DataGridViewHitTestInfo.cs
- CodeCompileUnit.cs
- ResourceExpressionBuilder.cs
- LogicalTreeHelper.cs
- IpcClientManager.cs
- UriTemplateVariablePathSegment.cs
- DoubleAnimationClockResource.cs
- SuppressIldasmAttribute.cs
- XmlBufferReader.cs
- ThreadStaticAttribute.cs
- DataTableNameHandler.cs
- WindowsBrush.cs
- DATA_BLOB.cs
- UnlockInstanceAsyncResult.cs
- DropShadowEffect.cs
- SubstitutionResponseElement.cs
- BigInt.cs
- PageAction.cs
- XMLDiffLoader.cs
- InternalConfigEventArgs.cs
- BindingList.cs
- AnnotationMap.cs
- CodeCommentStatement.cs
- BoolExpr.cs
- Underline.cs
- Parser.cs
- VScrollProperties.cs
- DebugHandleTracker.cs
- TypeSystem.cs
- InputMethod.cs
- WebPartDisplayModeCollection.cs
- XmlDeclaration.cs
- ProxyFragment.cs
- ConnectionInterfaceCollection.cs
- XmlEntityReference.cs
- XmlNodeList.cs
- EntityParameter.cs
- WindowsPen.cs
- AccessDataSource.cs
- EdgeModeValidation.cs
- XmlSchemaCollection.cs
- DetailsView.cs
- OracleString.cs
- MergeEnumerator.cs
- OrderedHashRepartitionEnumerator.cs
- AttributeTableBuilder.cs
- IFlowDocumentViewer.cs
- Script.cs
- EncoderExceptionFallback.cs
- SaveFileDialog.cs
- BaseParser.cs
- TableLayoutSettings.cs
- ReadOnlyHierarchicalDataSource.cs
- CompilerTypeWithParams.cs
- HTTPNotFoundHandler.cs
- MemoryStream.cs
- FrameworkElement.cs
- LocatorManager.cs
- InternalEnumValidator.cs
- Package.cs
- Polyline.cs
- X509CertificateCollection.cs
- DesignRelationCollection.cs
- CodeSnippetStatement.cs
- NumericUpDownAccelerationCollection.cs
- FontStretch.cs
- QueryOptionExpression.cs
- CodeSnippetExpression.cs
- BCryptSafeHandles.cs
- DPTypeDescriptorContext.cs
- RequestQueryParser.cs
- ProgressBarRenderer.cs
- GatewayDefinition.cs
- ZoneIdentityPermission.cs
- _LocalDataStoreMgr.cs
- SiteMapSection.cs
- LambdaCompiler.Unary.cs