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
- _SingleItemRequestCache.cs
- RepeatButtonAutomationPeer.cs
- WebPartConnectionsConfigureVerb.cs
- PageMediaType.cs
- ContainerVisual.cs
- TemplateKey.cs
- xsdvalidator.cs
- ExceptionTranslationTable.cs
- ParsedAttributeCollection.cs
- ProfileGroupSettingsCollection.cs
- XpsDocumentEvent.cs
- PiiTraceSource.cs
- ResolveNextArgumentWorkItem.cs
- XmlSerializer.cs
- ConfigurationValue.cs
- PagesSection.cs
- SecurityPolicyVersion.cs
- SafeCryptoHandles.cs
- SizeAnimationBase.cs
- StringKeyFrameCollection.cs
- NameValueSectionHandler.cs
- LicenseContext.cs
- URLIdentityPermission.cs
- DeferredSelectedIndexReference.cs
- CSharpCodeProvider.cs
- TextRangeEdit.cs
- JapaneseCalendar.cs
- AuthenticationModulesSection.cs
- ADMembershipProvider.cs
- Pair.cs
- ScriptHandlerFactory.cs
- XmlSchemaAll.cs
- CapabilitiesUse.cs
- NavigationProperty.cs
- BufferedGraphicsContext.cs
- RegexWriter.cs
- XmlSchemaValidationException.cs
- TogglePattern.cs
- CompositeKey.cs
- OleDbConnectionFactory.cs
- TableFieldsEditor.cs
- CompareValidator.cs
- SourceFilter.cs
- MgmtResManager.cs
- XmlAggregates.cs
- DataGridViewRowsAddedEventArgs.cs
- DiagnosticTraceRecords.cs
- Journal.cs
- ProcessProtocolHandler.cs
- SymmetricAlgorithm.cs
- DateTimeUtil.cs
- ButtonStandardAdapter.cs
- PaintEvent.cs
- LifetimeServices.cs
- StaticContext.cs
- UpdatableGenericsFeature.cs
- VirtualizingStackPanel.cs
- unsafenativemethodstextservices.cs
- XmlTextReaderImpl.cs
- DispatcherExceptionFilterEventArgs.cs
- ListChunk.cs
- TextTrailingWordEllipsis.cs
- Binding.cs
- ResXResourceSet.cs
- RefType.cs
- DPCustomTypeDescriptor.cs
- FlowLayout.cs
- WindowsSpinner.cs
- SetterBaseCollection.cs
- MeshGeometry3D.cs
- GenericUriParser.cs
- WebResourceUtil.cs
- BinaryObjectInfo.cs
- MenuItemCollection.cs
- Bold.cs
- UnionCqlBlock.cs
- Line.cs
- _RegBlobWebProxyDataBuilder.cs
- ReadOnlyCollection.cs
- CharAnimationUsingKeyFrames.cs
- Transactions.cs
- messageonlyhwndwrapper.cs
- MULTI_QI.cs
- EventBuilder.cs
- NetTcpBinding.cs
- ButtonBase.cs
- SimpleLine.cs
- ApplicationDirectory.cs
- Win32Exception.cs
- PixelFormat.cs
- RangeBaseAutomationPeer.cs
- DefaultTextStoreTextComposition.cs
- FontWeightConverter.cs
- SrgsSemanticInterpretationTag.cs
- HttpCookie.cs
- ModifiableIteratorCollection.cs
- ImageDrawing.cs
- HtmlUtf8RawTextWriter.cs
- DesignTimeValidationFeature.cs
- GroupDescription.cs