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
- GlobalProxySelection.cs
- RepeaterItem.cs
- ConfigurationErrorsException.cs
- Logging.cs
- InheritanceContextChangedEventManager.cs
- ThreadPool.cs
- DataGridDesigner.cs
- CustomErrorCollection.cs
- BoolLiteral.cs
- ListParagraph.cs
- ValidationSummary.cs
- CapabilitiesUse.cs
- EventWaitHandle.cs
- RenderOptions.cs
- MessageEncodingBindingElementImporter.cs
- InputLanguageProfileNotifySink.cs
- SessionEndingCancelEventArgs.cs
- EventSourceCreationData.cs
- Opcode.cs
- SchemaElement.cs
- ListViewUpdateEventArgs.cs
- PartialToken.cs
- DebugView.cs
- NamedPermissionSet.cs
- DiagnosticsConfiguration.cs
- SchemaInfo.cs
- DesignerCapabilities.cs
- XPathNodeHelper.cs
- EventListener.cs
- TimelineClockCollection.cs
- HttpDictionary.cs
- TextBoxView.cs
- AppDomainFactory.cs
- StdValidatorsAndConverters.cs
- PanelStyle.cs
- NonVisualControlAttribute.cs
- EntityContainerEntitySet.cs
- IisTraceListener.cs
- IndexedGlyphRun.cs
- COM2ColorConverter.cs
- OracleParameter.cs
- EFDataModelProvider.cs
- UniqueConstraint.cs
- PropertyPathWorker.cs
- InstanceNotReadyException.cs
- SqlDelegatedTransaction.cs
- SaveFileDialog.cs
- CounterNameConverter.cs
- OdbcErrorCollection.cs
- PersonalizationDictionary.cs
- XPathNodeInfoAtom.cs
- GotoExpression.cs
- SynchronizationValidator.cs
- FontStretchConverter.cs
- UInt64.cs
- OraclePermissionAttribute.cs
- SqlBulkCopy.cs
- ModuleConfigurationInfo.cs
- ExpressionBindingCollection.cs
- SafeRightsManagementQueryHandle.cs
- DbConnectionPool.cs
- BaseResourcesBuildProvider.cs
- DeploymentSection.cs
- FormsAuthentication.cs
- ClientRuntimeConfig.cs
- XmlSchemaFacet.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- DataGridCellItemAutomationPeer.cs
- WmlLinkAdapter.cs
- AssemblyBuilder.cs
- BinaryExpression.cs
- SqlParameterCollection.cs
- PipelineComponent.cs
- PageBreakRecord.cs
- DesignerAdapterAttribute.cs
- TimeZoneInfo.cs
- SqlDataSourceFilteringEventArgs.cs
- DateTimeConverter.cs
- MdiWindowListStrip.cs
- FormViewUpdateEventArgs.cs
- CardSpaceException.cs
- XmlChildEnumerator.cs
- SerTrace.cs
- WindowInteropHelper.cs
- ToolStripContentPanelRenderEventArgs.cs
- CustomCategoryAttribute.cs
- ProfessionalColorTable.cs
- WindowsPen.cs
- CellConstantDomain.cs
- RenderTargetBitmap.cs
- StateRuntime.cs
- documentation.cs
- DataTableMapping.cs
- RoutedPropertyChangedEventArgs.cs
- PermissionToken.cs
- XmlWrappingWriter.cs
- GetPageCompletedEventArgs.cs
- InkCollectionBehavior.cs
- NameGenerator.cs
- ObjectRef.cs