Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / WebParts / WebPartCollection.cs / 1 / 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; using System.Security.Permissions; ////// Read-only collection of WebParts. Collection cannot be modified after contstruction. /// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 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; using System.Security.Permissions; ////// Read-only collection of WebParts. Collection cannot be modified after contstruction. /// [AspNetHostingPermission(SecurityAction.LinkDemand, Level=AspNetHostingPermissionLevel.Minimal)] 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
- ObjectView.cs
- GC.cs
- HostSecurityManager.cs
- TextParagraphView.cs
- Label.cs
- HighContrastHelper.cs
- XPathPatternParser.cs
- PageClientProxyGenerator.cs
- EncoderParameter.cs
- FontDriver.cs
- ResourcePermissionBase.cs
- DbConnectionPoolGroup.cs
- RawStylusInput.cs
- BitArray.cs
- Track.cs
- WebColorConverter.cs
- UnitySerializationHolder.cs
- JavaScriptObjectDeserializer.cs
- ByteStorage.cs
- CatalogUtil.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- ProcessHostServerConfig.cs
- WorkflowApplicationCompletedException.cs
- DataColumnMappingCollection.cs
- AssertFilter.cs
- Inline.cs
- Native.cs
- SqlCacheDependencySection.cs
- MappingItemCollection.cs
- PermissionSetEnumerator.cs
- MessageSecurityProtocol.cs
- Expressions.cs
- TextStore.cs
- ListMarkerLine.cs
- TextEditorLists.cs
- X509Certificate2Collection.cs
- BitmapImage.cs
- QualificationDataAttribute.cs
- EventLogInternal.cs
- Dispatcher.cs
- WebHttpSecurityModeHelper.cs
- MulticastDelegate.cs
- SignerInfo.cs
- loginstatus.cs
- PropertyStore.cs
- TypeGeneratedEventArgs.cs
- formatter.cs
- ProcessInfo.cs
- FlowDocumentReaderAutomationPeer.cs
- TableRow.cs
- ResolvedKeyFrameEntry.cs
- DocumentGrid.cs
- TemplateLookupAction.cs
- HttpRequest.cs
- TextRange.cs
- ActiveDocumentEvent.cs
- ListBox.cs
- IsolationInterop.cs
- ShutDownListener.cs
- DetailsView.cs
- CompilationUtil.cs
- CircleHotSpot.cs
- SettingsPropertyValueCollection.cs
- ImportContext.cs
- TemplateLookupAction.cs
- ObjectAnimationUsingKeyFrames.cs
- HttpProfileGroupBase.cs
- PreservationFileReader.cs
- DbMetaDataColumnNames.cs
- SQLCharsStorage.cs
- TableLayoutSettingsTypeConverter.cs
- FileCodeGroup.cs
- MessageContractAttribute.cs
- CmsUtils.cs
- IISMapPath.cs
- TemplatedAdorner.cs
- AccessKeyManager.cs
- Exception.cs
- Matrix.cs
- ContractMethodParameterInfo.cs
- ImmComposition.cs
- ObjectRef.cs
- ZipIOExtraFieldZip64Element.cs
- BaseParagraph.cs
- NetworkStream.cs
- TextSpanModifier.cs
- PathGeometry.cs
- QueryExpr.cs
- DefaultSerializationProviderAttribute.cs
- EmbossBitmapEffect.cs
- QfeChecker.cs
- TextEditorTyping.cs
- TrustManagerMoreInformation.cs
- PartManifestEntry.cs
- Rect3DConverter.cs
- WorkflowPageSetupDialog.cs
- SettingsAttributes.cs
- SHA1Managed.cs
- IndentedWriter.cs
- SqlTriggerAttribute.cs