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
- DescendentsWalkerBase.cs
- Expression.cs
- ConstNode.cs
- PeerPresenceInfo.cs
- ClassImporter.cs
- thaishape.cs
- ToolboxCategory.cs
- CompletedAsyncResult.cs
- DbReferenceCollection.cs
- MD5.cs
- ViewBase.cs
- RsaEndpointIdentity.cs
- ClientConfigurationSystem.cs
- WorkflowRuntimeServiceElement.cs
- ControlPager.cs
- XXXOnTypeBuilderInstantiation.cs
- GACIdentityPermission.cs
- CommandBindingCollection.cs
- Range.cs
- RightsManagementUser.cs
- StatusBar.cs
- PerformanceCountersBase.cs
- OracleBFile.cs
- XmlTextEncoder.cs
- EncodingTable.cs
- AppSettingsExpressionBuilder.cs
- NullableFloatAverageAggregationOperator.cs
- ColorAnimation.cs
- HostVisual.cs
- WriteableBitmap.cs
- HttpRawResponse.cs
- QEncodedStream.cs
- DataGridAddNewRow.cs
- PersonalizationStateInfoCollection.cs
- OutputCacheModule.cs
- EditingScope.cs
- PlainXmlDeserializer.cs
- ThreadLocal.cs
- KeyTimeConverter.cs
- Lease.cs
- RunWorkerCompletedEventArgs.cs
- DocumentPageViewAutomationPeer.cs
- XmlEntity.cs
- DesignerTextBoxAdapter.cs
- InfiniteIntConverter.cs
- ThreadStartException.cs
- XslVisitor.cs
- RequiredFieldValidator.cs
- WebPartCollection.cs
- LessThanOrEqual.cs
- GatewayDefinition.cs
- DocumentEventArgs.cs
- LogSwitch.cs
- PeerObject.cs
- TraceListener.cs
- PackWebRequest.cs
- UmAlQuraCalendar.cs
- KeyFrames.cs
- StrongTypingException.cs
- SettingsAttributeDictionary.cs
- MethodAccessException.cs
- SuppressIldasmAttribute.cs
- StartUpEventArgs.cs
- GridEntryCollection.cs
- InheritanceService.cs
- WebBrowserDocumentCompletedEventHandler.cs
- MatrixIndependentAnimationStorage.cs
- ProfileService.cs
- XmlDesigner.cs
- CodeVariableDeclarationStatement.cs
- PtsPage.cs
- ClientWindowsAuthenticationMembershipProvider.cs
- BinaryObjectWriter.cs
- VersionedStreamOwner.cs
- FrameworkContentElement.cs
- SaveFileDialog.cs
- MimeWriter.cs
- SynchronizationLockException.cs
- DataServiceCollectionOfT.cs
- PresentationAppDomainManager.cs
- ExtensibleSyndicationObject.cs
- WebConvert.cs
- ScopelessEnumAttribute.cs
- BaseParser.cs
- Button.cs
- InstancePersistenceEvent.cs
- BitmapEffectGroup.cs
- ExclusiveCanonicalizationTransform.cs
- RadioButtonFlatAdapter.cs
- ListItemParagraph.cs
- ReadingWritingEntityEventArgs.cs
- ExpressionBuilderContext.cs
- Profiler.cs
- RadialGradientBrush.cs
- AdornerHitTestResult.cs
- LinqToSqlWrapper.cs
- ReadContentAsBinaryHelper.cs
- ManagementPath.cs
- MachineKeySection.cs
- SqlErrorCollection.cs