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
- SeekableReadStream.cs
- NativeRecognizer.cs
- OleAutBinder.cs
- SelectManyQueryOperator.cs
- QueueProcessor.cs
- SchemaImporter.cs
- DoubleConverter.cs
- MenuItemCollectionEditorDialog.cs
- TextBoxAutoCompleteSourceConverter.cs
- ChildDocumentBlock.cs
- SerTrace.cs
- OrderedDictionary.cs
- MediaScriptCommandRoutedEventArgs.cs
- XslAstAnalyzer.cs
- PKCS1MaskGenerationMethod.cs
- RegexWriter.cs
- ContainerUIElement3D.cs
- LayoutExceptionEventArgs.cs
- RichTextBoxConstants.cs
- SimpleWorkerRequest.cs
- ISFClipboardData.cs
- DataGridView.cs
- FileDialogCustomPlacesCollection.cs
- SingleSelectRootGridEntry.cs
- PresentationSource.cs
- MetadataUtilsSmi.cs
- DataGridParentRows.cs
- CqlGenerator.cs
- TextEditorMouse.cs
- UnknownBitmapEncoder.cs
- IPCCacheManager.cs
- InvokeWebServiceDesigner.cs
- CheckoutException.cs
- DockProviderWrapper.cs
- _Win32.cs
- DataGridItem.cs
- QilTernary.cs
- DataBindingExpressionBuilder.cs
- followingquery.cs
- HostingEnvironment.cs
- TextTreeDeleteContentUndoUnit.cs
- TransactionContext.cs
- ConsoleKeyInfo.cs
- XmlSchemaAnnotation.cs
- SqlNotificationEventArgs.cs
- _FtpDataStream.cs
- DataProtection.cs
- ListItemConverter.cs
- ColorMap.cs
- RegexInterpreter.cs
- UrlMappingsModule.cs
- DataErrorValidationRule.cs
- ImplicitInputBrush.cs
- Int32Rect.cs
- DynamicMethod.cs
- DoubleKeyFrameCollection.cs
- _ProxyRegBlob.cs
- CompressionTracing.cs
- GridItemCollection.cs
- NameValueFileSectionHandler.cs
- XmlSortKey.cs
- CodeNamespaceImport.cs
- FrameworkReadOnlyPropertyMetadata.cs
- ProfilePropertySettings.cs
- DataGridViewComboBoxEditingControl.cs
- sqlinternaltransaction.cs
- BindingGroup.cs
- HeaderCollection.cs
- OperationInfo.cs
- DbModificationClause.cs
- XmlSchemaDocumentation.cs
- Wizard.cs
- MD5.cs
- DragDrop.cs
- JournalEntryStack.cs
- RowType.cs
- FindCriteria.cs
- Composition.cs
- CodeTryCatchFinallyStatement.cs
- CollectionsUtil.cs
- CompiledQuery.cs
- StringResourceManager.cs
- FlagsAttribute.cs
- DataObjectSettingDataEventArgs.cs
- Converter.cs
- XmlSchemaSet.cs
- AllMembershipCondition.cs
- ReadonlyMessageFilter.cs
- CommentAction.cs
- OdbcDataAdapter.cs
- MissingMethodException.cs
- WebPartsSection.cs
- DataControlExtensions.cs
- Logging.cs
- ObjectDataSourceStatusEventArgs.cs
- DataGridViewButtonColumn.cs
- PersistNameAttribute.cs
- WebBrowserUriTypeConverter.cs
- TdsParserHelperClasses.cs
- SudsParser.cs