Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebParts / WebPartCollection.cs / 1305376 / WebPartCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls.WebParts { using System; using System.Collections; using System.Diagnostics; using System.Globalization; ////// Read-only collection of WebParts. Collection cannot be modified after contstruction. /// public sealed class WebPartCollection : ReadOnlyCollectionBase { public WebPartCollection() { } public WebPartCollection(ICollection webParts) { if (webParts == null) { throw new ArgumentNullException("webParts"); } foreach (object obj in webParts) { if (obj == null) { throw new ArgumentException(SR.GetString(SR.Collection_CantAddNull), "webParts"); } if (!(obj is WebPart)) { throw new ArgumentException(SR.GetString(SR.Collection_InvalidType, "WebPart"), "webParts"); } InnerList.Add(obj); } } internal int Add(WebPart value) { Debug.Assert(value != null); return InnerList.Add(value); } public bool Contains(WebPart value) { return InnerList.Contains(value); } public int IndexOf(WebPart value) { return InnerList.IndexOf(value); } public WebPart this[int index] { get { return (WebPart) InnerList[index]; } } ////// Returns the WebPart with the specified id, or the GenericWebPart containing a control with /// the specified id, or the ProxyWebPart with OriginalID or GenericWebPartID equal to the /// specified id, performing a case-insensitive comparison. Returns null if there are no matches. /// public WebPart this[string id] { // PERF: Use a hashtable for lookup, instead of a linear search get { foreach (WebPart webPart in InnerList) { if (String.Equals(webPart.ID, id, StringComparison.OrdinalIgnoreCase)) { return webPart; } GenericWebPart genericWebPart = webPart as GenericWebPart; if (genericWebPart != null) { Control control = genericWebPart.ChildControl; if (control != null) { if (String.Equals(control.ID, id, StringComparison.OrdinalIgnoreCase)) { return genericWebPart; } } } ProxyWebPart proxyWebPart = webPart as ProxyWebPart; if (proxyWebPart != null) { if ((String.Equals(proxyWebPart.OriginalID, id, StringComparison.OrdinalIgnoreCase)) || (String.Equals(proxyWebPart.GenericWebPartID, id, StringComparison.OrdinalIgnoreCase))) { return proxyWebPart; } } } return null; } } ////// public void CopyTo(WebPart[] array, int index) { InnerList.CopyTo(array, index); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //Copies contents from the collection to a specified array with a /// specified starting index. ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls.WebParts { using System; using System.Collections; using System.Diagnostics; using System.Globalization; ////// Read-only collection of WebParts. Collection cannot be modified after contstruction. /// public sealed class WebPartCollection : ReadOnlyCollectionBase { public WebPartCollection() { } public WebPartCollection(ICollection webParts) { if (webParts == null) { throw new ArgumentNullException("webParts"); } foreach (object obj in webParts) { if (obj == null) { throw new ArgumentException(SR.GetString(SR.Collection_CantAddNull), "webParts"); } if (!(obj is WebPart)) { throw new ArgumentException(SR.GetString(SR.Collection_InvalidType, "WebPart"), "webParts"); } InnerList.Add(obj); } } internal int Add(WebPart value) { Debug.Assert(value != null); return InnerList.Add(value); } public bool Contains(WebPart value) { return InnerList.Contains(value); } public int IndexOf(WebPart value) { return InnerList.IndexOf(value); } public WebPart this[int index] { get { return (WebPart) InnerList[index]; } } ////// Returns the WebPart with the specified id, or the GenericWebPart containing a control with /// the specified id, or the ProxyWebPart with OriginalID or GenericWebPartID equal to the /// specified id, performing a case-insensitive comparison. Returns null if there are no matches. /// public WebPart this[string id] { // PERF: Use a hashtable for lookup, instead of a linear search get { foreach (WebPart webPart in InnerList) { if (String.Equals(webPart.ID, id, StringComparison.OrdinalIgnoreCase)) { return webPart; } GenericWebPart genericWebPart = webPart as GenericWebPart; if (genericWebPart != null) { Control control = genericWebPart.ChildControl; if (control != null) { if (String.Equals(control.ID, id, StringComparison.OrdinalIgnoreCase)) { return genericWebPart; } } } ProxyWebPart proxyWebPart = webPart as ProxyWebPart; if (proxyWebPart != null) { if ((String.Equals(proxyWebPart.OriginalID, id, StringComparison.OrdinalIgnoreCase)) || (String.Equals(proxyWebPart.GenericWebPartID, id, StringComparison.OrdinalIgnoreCase))) { return proxyWebPart; } } } return null; } } ////// public void CopyTo(WebPart[] array, int index) { InnerList.CopyTo(array, index); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.Copies contents from the collection to a specified array with a /// specified starting index. ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- GC.cs
- ValueSerializerAttribute.cs
- TrackBarRenderer.cs
- ReplacementText.cs
- CustomWebEventKey.cs
- ProcessHostServerConfig.cs
- ResourceDescriptionAttribute.cs
- RawTextInputReport.cs
- Point3DKeyFrameCollection.cs
- DataGridItemEventArgs.cs
- TempFiles.cs
- GatewayIPAddressInformationCollection.cs
- HtmlInputRadioButton.cs
- TemplateControlBuildProvider.cs
- WebPartDescriptionCollection.cs
- MimeTypeMapper.cs
- WorkflowRuntimeServiceElement.cs
- ListView.cs
- SystemException.cs
- SettingsPropertyValueCollection.cs
- BuildManager.cs
- SiteOfOriginContainer.cs
- DataFormats.cs
- FunctionUpdateCommand.cs
- ListControl.cs
- TakeQueryOptionExpression.cs
- XPathEmptyIterator.cs
- ManifestBasedResourceGroveler.cs
- FormView.cs
- ServiceX509SecurityTokenProvider.cs
- HtmlLiteralTextAdapter.cs
- diagnosticsswitches.cs
- ExtenderControl.cs
- EventLogInternal.cs
- ZoneButton.cs
- RichTextBoxConstants.cs
- ObjectView.cs
- DataGridViewRowStateChangedEventArgs.cs
- ToolStripScrollButton.cs
- SqlRewriteScalarSubqueries.cs
- NamespaceQuery.cs
- OutputCacheSettings.cs
- SafeEventHandle.cs
- RequestUriProcessor.cs
- NegotiationTokenAuthenticator.cs
- ArrangedElementCollection.cs
- AutoGeneratedField.cs
- WebPartExportVerb.cs
- PropertyChangeTracker.cs
- CodeTypeMemberCollection.cs
- BamlLocalizableResourceKey.cs
- PipelineModuleStepContainer.cs
- SqlNodeTypeOperators.cs
- NgenServicingAttributes.cs
- Pkcs7Signer.cs
- WebPartConnectionsConnectVerb.cs
- OrderedDictionary.cs
- VisualStyleTypesAndProperties.cs
- ProxyHelper.cs
- ClientApiGenerator.cs
- BrowsableAttribute.cs
- WindowsStatusBar.cs
- PropertyInformation.cs
- Pair.cs
- DrawingVisual.cs
- ComplexPropertyEntry.cs
- Polyline.cs
- compensatingcollection.cs
- ShaperBuffers.cs
- ExtendedProperty.cs
- DbConnectionHelper.cs
- NoneExcludedImageIndexConverter.cs
- XmlHierarchicalEnumerable.cs
- EdmItemError.cs
- ProfilePropertySettings.cs
- Binding.cs
- PageDeviceFont.cs
- InvariantComparer.cs
- Point3DCollectionValueSerializer.cs
- ListControlConvertEventArgs.cs
- ExtendedPropertyInfo.cs
- TrackingMemoryStream.cs
- GuidTagList.cs
- EntityDataReader.cs
- BitmapEncoder.cs
- ProtocolElement.cs
- HtmlTextArea.cs
- ScrollItemPattern.cs
- DataMemberFieldConverter.cs
- BaseDataBoundControl.cs
- RecognizedPhrase.cs
- Attachment.cs
- Authorization.cs
- DbExpressionVisitor_TResultType.cs
- NullableIntSumAggregationOperator.cs
- IgnoreFlushAndCloseStream.cs
- ConfigurationValidatorBase.cs
- XmlWriterTraceListener.cs
- XPathDocument.cs
- GenericIdentity.cs