Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebParts / WebPartCollection.cs / 2 / 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. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ //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. // Copyright (c) Microsoft Corporation. All rights reserved.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
- ExpressionEditorAttribute.cs
- DataGridItemEventArgs.cs
- XmlHierarchyData.cs
- PropertyEmitterBase.cs
- XsdDateTime.cs
- Menu.cs
- EntityDesignerUtils.cs
- MultiView.cs
- SmiEventSink_DeferedProcessing.cs
- ImageCodecInfoPrivate.cs
- ActivationWorker.cs
- ServiceInfoCollection.cs
- TypeElementCollection.cs
- Int16Animation.cs
- NameValueCollection.cs
- ToolCreatedEventArgs.cs
- Random.cs
- List.cs
- HostingEnvironmentException.cs
- DataControlLinkButton.cs
- TypeToken.cs
- IntranetCredentialPolicy.cs
- WaveHeader.cs
- TextServicesPropertyRanges.cs
- SingleSelectRootGridEntry.cs
- ArraySubsetEnumerator.cs
- ExtentKey.cs
- RealProxy.cs
- HotSpot.cs
- PathSegmentCollection.cs
- IBuiltInEvidence.cs
- ObjectIDGenerator.cs
- NamedPermissionSet.cs
- DivideByZeroException.cs
- linebase.cs
- EditorZone.cs
- ResourceProviderFactory.cs
- dbdatarecord.cs
- WebScriptMetadataMessage.cs
- Int64AnimationUsingKeyFrames.cs
- RelatedView.cs
- XmlSchemaSimpleContent.cs
- UniqueID.cs
- TemplateNameScope.cs
- CmsInterop.cs
- NavigationFailedEventArgs.cs
- CompilerWrapper.cs
- BitmapMetadataBlob.cs
- ResourceContainer.cs
- InternalCache.cs
- XmlObjectSerializerContext.cs
- DateTime.cs
- ToolboxDataAttribute.cs
- PanelStyle.cs
- TreeNodeSelectionProcessor.cs
- SecurityTraceRecordHelper.cs
- System.Data_BID.cs
- RectAnimationClockResource.cs
- AnnotationObservableCollection.cs
- GeometryDrawing.cs
- OleDbException.cs
- CommandEventArgs.cs
- WebScriptMetadataMessageEncodingBindingElement.cs
- SafeProcessHandle.cs
- ResourceLoader.cs
- TextElementCollectionHelper.cs
- XmlIlVisitor.cs
- XmlDataCollection.cs
- DocumentSignatureManager.cs
- CollectionViewGroupInternal.cs
- BitmapFrameEncode.cs
- ValidatorUtils.cs
- FixedSchema.cs
- SessionIDManager.cs
- GenericParameterDataContract.cs
- LongValidator.cs
- ListBoxItemWrapperAutomationPeer.cs
- PkcsMisc.cs
- XmlIgnoreAttribute.cs
- Int32KeyFrameCollection.cs
- TransformGroup.cs
- MarkerProperties.cs
- RuntimeConfigLKG.cs
- ISO2022Encoding.cs
- ColorConverter.cs
- RelationshipWrapper.cs
- CodeEntryPointMethod.cs
- PathGradientBrush.cs
- QueryCacheKey.cs
- NativeRightsManagementAPIsStructures.cs
- HtmlForm.cs
- DataRowCollection.cs
- HwndKeyboardInputProvider.cs
- ObjectTypeMapping.cs
- ApplicationSecurityInfo.cs
- DbBuffer.cs
- ValidationEventArgs.cs
- _WebProxyDataBuilder.cs
- StorageEntitySetMapping.cs
- HttpHandlerAction.cs