Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / KeyedByTypeCollection.cs / 1 / KeyedByTypeCollection.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Collections.Generic { using System.Xml; using System.ServiceModel; using System.Collections.ObjectModel; using System.Runtime.Serialization; public class KeyedByTypeCollection: KeyedCollection { public KeyedByTypeCollection() : base(null, 4) { } public KeyedByTypeCollection(IEnumerable items) : base(null, 4) { if (items == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("items"); foreach (TItem item in items) { base.Add(item); } } public T Find () { return this.Find (false); } public T Remove () { return this.Find (true); } T Find (bool remove) { for (int i = 0; i < this.Count; i++) { TItem settings = this[i]; if (settings is T) { if (remove) { Remove(settings); } return (T)(object)settings; } } return default(T); } public Collection FindAll () { return this.FindAll (false); } public Collection RemoveAll () { return this.FindAll (true); } Collection FindAll (bool remove) { Collection result = new Collection (); foreach (TItem settings in this) { if (settings is T) { result.Add((T)(object)settings); } } if (remove) { foreach (T settings in result) { this.Remove((TItem)(object)settings); } } return result; } protected override Type GetKeyForItem(TItem item) { if (item == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("item"); } return item.GetType(); } protected override void InsertItem(int index, TItem item) { if (item == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("item"); } if (this.Contains(item.GetType())) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("item", SR.GetString(SR.DuplicateBehavior1, item.GetType().FullName)); } base.InsertItem(index, item); } protected override void SetItem(int index, TItem 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
- LeftCellWrapper.cs
- FullTrustAssembliesSection.cs
- GetWinFXPath.cs
- ConstructorArgumentAttribute.cs
- OleDbStruct.cs
- ControlPropertyNameConverter.cs
- ConditionalAttribute.cs
- CommandCollectionEditor.cs
- ImmutableObjectAttribute.cs
- URI.cs
- PathNode.cs
- WebServiceData.cs
- HostProtectionException.cs
- WorkflowDefinitionContext.cs
- ConfigurationElement.cs
- ClosableStream.cs
- SqlFlattener.cs
- DLinqDataModelProvider.cs
- SystemKeyConverter.cs
- ProxyAssemblyNotLoadedException.cs
- XmlRawWriter.cs
- CompiledXpathExpr.cs
- BasicKeyConstraint.cs
- CollectionViewGroup.cs
- CharacterBuffer.cs
- SerialPort.cs
- DataControlFieldHeaderCell.cs
- WebBrowserSiteBase.cs
- DataObject.cs
- ContentType.cs
- PackWebRequest.cs
- ToolStripSettings.cs
- PublisherIdentityPermission.cs
- X509CertificateTrustedIssuerElement.cs
- SqlMethodTransformer.cs
- DataGridViewCellStyle.cs
- EventLogEntry.cs
- Relationship.cs
- Missing.cs
- Pair.cs
- EntityDataSourceContainerNameItem.cs
- KeyEvent.cs
- RepeaterItemCollection.cs
- WindowsListViewItemCheckBox.cs
- SizeAnimationBase.cs
- RoutedCommand.cs
- PartialClassGenerationTaskInternal.cs
- TextLineBreak.cs
- ArraySortHelper.cs
- AssociationSetMetadata.cs
- MultiByteCodec.cs
- ExtensibleClassFactory.cs
- ContractListAdapter.cs
- CodeSubDirectory.cs
- RegexTree.cs
- MatrixValueSerializer.cs
- SqlTrackingWorkflowInstance.cs
- RoleManagerModule.cs
- OrderedDictionary.cs
- FileLoadException.cs
- MappingMetadataHelper.cs
- AdRotator.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- GeneralTransform3DCollection.cs
- CodeCatchClause.cs
- Interlocked.cs
- MetadataPropertyvalue.cs
- RichTextBox.cs
- LocalBuilder.cs
- SerializeAbsoluteContext.cs
- FixedSOMPageConstructor.cs
- QilFactory.cs
- FamilyMap.cs
- DirectoryInfo.cs
- InterleavedZipPartStream.cs
- FtpRequestCacheValidator.cs
- ServicePrincipalNameElement.cs
- EdmConstants.cs
- FontSizeConverter.cs
- ServiceChannelManager.cs
- srgsitem.cs
- TypeRefElement.cs
- ColumnResizeAdorner.cs
- SessionStateModule.cs
- BaseTemplateBuildProvider.cs
- DetailsViewPageEventArgs.cs
- HwndAppCommandInputProvider.cs
- MsmqIntegrationBinding.cs
- OleTxTransaction.cs
- PersistenceTypeAttribute.cs
- GCHandleCookieTable.cs
- CfgArc.cs
- Size3D.cs
- PersonalizationEntry.cs
- QuotedPairReader.cs
- TreeNodeCollectionEditorDialog.cs
- BackStopAuthenticationModule.cs
- PolyQuadraticBezierSegment.cs
- Header.cs
- DesignerCapabilities.cs