Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / BindingElementCollection.cs / 1 / BindingElementCollection.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Channels { using System.ServiceModel; using System.ComponentModel; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Runtime.Serialization; public class BindingElementCollection : Collection{ public BindingElementCollection() { } public BindingElementCollection(IEnumerable elements) { if (elements == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("elements"); foreach (BindingElement element in elements) { base.Add(element); } } public BindingElementCollection(BindingElement[] elements) { if (elements == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("elements"); for (int i = 0; i < elements.Length; i++) { base.Add(elements[i]); } } internal BindingElementCollection(BindingElementCollection elements) { if (elements == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("elements"); for (int i = 0; i < elements.Count; i++) { base.Add(elements[i]); } } // returns a new collection with clones of all the elements public BindingElementCollection Clone() { BindingElementCollection result = new BindingElementCollection(); for (int i = 0; i < this.Count; i++) { result.Add(this[i].Clone()); } return result; } public void AddRange(params BindingElement[] elements) { if (elements == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("elements"); for (int i = 0; i < elements.Length; i++) { base.Add(elements[i]); } } public bool Contains(Type bindingElementType) { if (bindingElementType == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("bindingElementType"); for (int i = 0; i < this.Count; i++) { if (bindingElementType.IsInstanceOfType(this[i])) return true; } return false; } public T Find () { return Find (false); } public T Remove () { return Find (true); } T Find (bool remove) { for (int index = 0; index < this.Count; index++) { if (this[index] is T) { T item = (T)(object)this[index]; if (remove) { RemoveAt(index); } return item; } } return default(T); } public Collection FindAll () { return FindAll (false); } public Collection RemoveAll () { return FindAll (true); } Collection FindAll (bool remove) { Collection collection = new Collection (); for (int index = 0; index < this.Count; index++) { if (this[index] is T) { T item = (T)(object)this[index]; if (remove) { RemoveAt(index); // back up the index so we inspect the new item at this location index--; } collection.Add(item); } } return collection; } protected override void InsertItem(int index, BindingElement item) { if (item == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("item"); base.InsertItem(index, item); } protected override void SetItem(int index, BindingElement item) { if (item == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("item"); base.SetItem(index, item); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DocumentXPathNavigator.cs
- FileRegion.cs
- SoapParser.cs
- DynamicResourceExtensionConverter.cs
- CacheOutputQuery.cs
- HitTestResult.cs
- GradientStop.cs
- CmsUtils.cs
- IFlowDocumentViewer.cs
- AttachedPropertyBrowsableForChildrenAttribute.cs
- DbProviderFactories.cs
- ClientRuntimeConfig.cs
- ProcessModelInfo.cs
- smtpconnection.cs
- ObjectStateEntry.cs
- SymbolEqualComparer.cs
- PeerDefaultCustomResolverClient.cs
- Help.cs
- TextRunProperties.cs
- ComEventsHelper.cs
- KeyboardDevice.cs
- DeleteHelper.cs
- ArraySegment.cs
- XPathPatternBuilder.cs
- UndirectedGraph.cs
- NodeLabelEditEvent.cs
- ASCIIEncoding.cs
- TextEditorParagraphs.cs
- GPPOINTF.cs
- ProfileGroupSettings.cs
- DiscoveryRequestHandler.cs
- WeakReferenceEnumerator.cs
- FontSizeConverter.cs
- WebPartDescription.cs
- FlowDocumentReader.cs
- AttributeProviderAttribute.cs
- SecurityState.cs
- ClearTypeHintValidation.cs
- DesignerVerb.cs
- GetImportFileNameRequest.cs
- PeerTransportElement.cs
- ExternalCalls.cs
- WeakReferenceEnumerator.cs
- TdsEnums.cs
- SQLRoleProvider.cs
- MultilineStringConverter.cs
- HtmlElementErrorEventArgs.cs
- FixedStringLookup.cs
- Error.cs
- FixedElement.cs
- RequestSecurityTokenResponseCollection.cs
- SmuggledIUnknown.cs
- ComAwareEventInfo.cs
- OpCodes.cs
- WebBrowserBase.cs
- PublisherMembershipCondition.cs
- SafeNativeMethods.cs
- MailAddress.cs
- CollectionEditVerbManager.cs
- TransformBlockRequest.cs
- Oid.cs
- Misc.cs
- MatrixCamera.cs
- ReferencedCollectionType.cs
- GroupBoxAutomationPeer.cs
- TreeWalker.cs
- ContentElementAutomationPeer.cs
- CodeObject.cs
- TextProperties.cs
- DynamicILGenerator.cs
- CodeAccessPermission.cs
- AssemblyCollection.cs
- HttpVersion.cs
- LinearQuaternionKeyFrame.cs
- EncryptedKeyIdentifierClause.cs
- EntryPointNotFoundException.cs
- MatrixKeyFrameCollection.cs
- DisplayMemberTemplateSelector.cs
- PageHandlerFactory.cs
- ProcessRequestArgs.cs
- TextPointerBase.cs
- DetailsViewCommandEventArgs.cs
- MetabaseServerConfig.cs
- ProcessProtocolHandler.cs
- PostBackOptions.cs
- ConfigurationLocation.cs
- MimeParameter.cs
- MobileRedirect.cs
- SemanticAnalyzer.cs
- UInt32.cs
- TreeNodeStyleCollectionEditor.cs
- TypeGeneratedEventArgs.cs
- ComponentCache.cs
- PolicyLevel.cs
- ChtmlTextBoxAdapter.cs
- FileSecurity.cs
- Int32CAMarshaler.cs
- VisualProxy.cs
- PreProcessInputEventArgs.cs
- VisualTreeHelper.cs