Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / clr / src / BCL / System / Collections / Concurrent / Partitioner.cs / 1305376 / Partitioner.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ // // Partitioner.cs // //[....] // // Represents a particular way of splitting a collection into multiple partitions. // // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- using System; using System.Collections.Generic; using System.Security.Permissions; using System.Threading; namespace System.Collections.Concurrent { ////// Represents a particular manner of splitting a data source into multiple partitions. /// ///Type of the elements in the collection. ////// [HostProtection(Synchronization = true, ExternalThreading = true)] public abstract class Partitioner/// Inheritors of ///must adhere to the following rules: /// ///
///- ///
should throw a /// if the requested partition count is less than or /// equal to zero. - ///
should always return a number of enumerables equal to the requested /// partition count. If the partitioner runs out of data and cannot create as many partitions as /// requested, an empty enumerator should be returned for each of the remaining partitions. If this rule /// is not followed, consumers of the implementation may throw a . - ///
and /// should never return null. If null is returned, a consumer of the implementation may throw a /// . - ///
and should always return /// partitions that can fully and uniquely enumerate the input data source. All of the data and only the /// data contained in the input source should be enumerated, with no duplication that was not already in /// the input, unless specifically required by the particular partitioner's design. If this is not /// followed, the output ordering may be scrambled. { /// /// Partitions the underlying collection into the given number of partitions. /// /// The number of partitions to create. ///A list containing public abstract IListenumerators. > GetPartitions(int partitionCount); /// /// Gets whether additional partitions can be created dynamically. /// ////// true if the ///can create partitions dynamically as they are /// requested; false if the can only allocate /// partitions statically. /// /// public virtual bool SupportsDynamicPartitions { get { return false; } } ////// If a derived class does not override and implement ///, /// should return false. The value of should not vary over the lifetime of this instance. /// /// Creates an object that can partition the underlying collection into a variable number of /// partitions. /// ////// ////// The returned object implements the ///interface. Calling GetEnumerator on the /// object creates another partition over the sequence. ////// The ///method is only supported if the /// property returns true. /// An object that can create partitions over the underlying data source. ///Dynamic partitioning is not supported by this /// partitioner. public virtual IEnumerableGetDynamicPartitions() { throw new NotSupportedException(Environment.GetResourceString("Partitioner_DynamicPartitionsNotSupported")); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ObjectStateFormatter.cs
- JulianCalendar.cs
- AttachmentCollection.cs
- CodeNamespaceImportCollection.cs
- AnimationClockResource.cs
- FilterFactory.cs
- CopyAction.cs
- XmlnsCache.cs
- LoadWorkflowByKeyAsyncResult.cs
- XmlBinaryWriter.cs
- GridView.cs
- EndPoint.cs
- ButtonChrome.cs
- EventProviderTraceListener.cs
- ScriptHandlerFactory.cs
- BindableAttribute.cs
- WindowsTreeView.cs
- PlanCompiler.cs
- GridPattern.cs
- RegexNode.cs
- Wow64ConfigurationLoader.cs
- PersianCalendar.cs
- ItemsControlAutomationPeer.cs
- HttpCapabilitiesSectionHandler.cs
- BoolLiteral.cs
- UnsafeNativeMethodsTablet.cs
- ListControlBoundActionList.cs
- MemberPathMap.cs
- DynamicRendererThreadManager.cs
- PartitionerQueryOperator.cs
- DataListItemEventArgs.cs
- DataPagerCommandEventArgs.cs
- PropertyMetadata.cs
- HandleCollector.cs
- ForwardPositionQuery.cs
- StyleCollection.cs
- FunctionDescription.cs
- StylusPoint.cs
- DerivedKeyCachingSecurityTokenSerializer.cs
- WebPartConnectionsConfigureVerb.cs
- NameTable.cs
- ReturnEventArgs.cs
- SqlDataSourceRefreshSchemaForm.cs
- StrokeCollectionDefaultValueFactory.cs
- Interop.cs
- DiscoveryClientDocuments.cs
- AssemblyCacheEntry.cs
- GridViewColumnCollectionChangedEventArgs.cs
- ClientCultureInfo.cs
- SignedInfo.cs
- EncodingInfo.cs
- ShaderEffect.cs
- SerialErrors.cs
- NativeWindow.cs
- DBCommand.cs
- ToolboxItemImageConverter.cs
- CroppedBitmap.cs
- Rect3DValueSerializer.cs
- PlaceHolder.cs
- ToolStripSplitStackLayout.cs
- TimeManager.cs
- XmlSchemaObjectCollection.cs
- ImpersonationOption.cs
- TreeViewImageIndexConverter.cs
- XmlSchemaComplexContentExtension.cs
- InitialServerConnectionReader.cs
- ScriptControlManager.cs
- GlyphRunDrawing.cs
- SymmetricAlgorithm.cs
- UnionExpr.cs
- PropertyStore.cs
- ProcessActivityTreeOptions.cs
- XsdDateTime.cs
- Boolean.cs
- HandlerFactoryWrapper.cs
- MediaCommands.cs
- HttpProfileBase.cs
- MostlySingletonList.cs
- CaseInsensitiveComparer.cs
- ExeConfigurationFileMap.cs
- DateBoldEvent.cs
- FormViewCommandEventArgs.cs
- IDictionary.cs
- OleDbStruct.cs
- ReaderOutput.cs
- DataGridViewCellFormattingEventArgs.cs
- BindingListCollectionView.cs
- SingleObjectCollection.cs
- IndentedWriter.cs
- EntityViewGenerator.cs
- DataGridViewCheckBoxColumn.cs
- RtfControlWordInfo.cs
- RawStylusActions.cs
- AlgoModule.cs
- FunctionUpdateCommand.cs
- ValidatorUtils.cs
- RectAnimationClockResource.cs
- FillBehavior.cs
- prompt.cs
- UnconditionalPolicy.cs