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
- DependencyPropertyKind.cs
- RegionIterator.cs
- TextElementEnumerator.cs
- NetStream.cs
- DataGridLinkButton.cs
- XmlSignatureManifest.cs
- ObjectItemNoOpAssemblyLoader.cs
- LinqDataSourceView.cs
- CollectionConverter.cs
- ApplicationServiceManager.cs
- SchemaCreator.cs
- ConnectionConsumerAttribute.cs
- ContentPresenter.cs
- AspCompat.cs
- ViewStateException.cs
- PerCallInstanceContextProvider.cs
- SafeFileMappingHandle.cs
- IdentityHolder.cs
- EventProxy.cs
- MessageAction.cs
- ResourceLoader.cs
- DirectoryNotFoundException.cs
- InvalidChannelBindingException.cs
- PropertyOverridesTypeEditor.cs
- HtmlTableCellCollection.cs
- BooleanStorage.cs
- RepeatInfo.cs
- PathFigureCollection.cs
- XPathQueryGenerator.cs
- HashStream.cs
- OdbcEnvironment.cs
- SqlCrossApplyToCrossJoin.cs
- Popup.cs
- ValueTable.cs
- SQLInt64Storage.cs
- ControlBuilder.cs
- CallContext.cs
- DesignSurfaceEvent.cs
- Substitution.cs
- SelectQueryOperator.cs
- PaintEvent.cs
- OwnerDrawPropertyBag.cs
- WebPartChrome.cs
- RowVisual.cs
- CodeAccessSecurityEngine.cs
- NamespaceList.cs
- IdentityReference.cs
- DocumentOrderQuery.cs
- SHA1CryptoServiceProvider.cs
- DetailsViewModeEventArgs.cs
- ByteConverter.cs
- DataGridViewCellStateChangedEventArgs.cs
- DbConnectionPoolGroupProviderInfo.cs
- Int64.cs
- DateTimePicker.cs
- TraceSwitch.cs
- Version.cs
- RawContentTypeMapper.cs
- WindowsNonControl.cs
- SemanticKeyElement.cs
- PersonalizationDictionary.cs
- Track.cs
- MimeObjectFactory.cs
- SystemFonts.cs
- XmlNodeReader.cs
- LinkConverter.cs
- StrokeNodeOperations.cs
- CorruptStoreException.cs
- OneOf.cs
- SplitterPanel.cs
- IndexedSelectQueryOperator.cs
- ObjectConverter.cs
- Attributes.cs
- MessagingActivityHelper.cs
- AppLevelCompilationSectionCache.cs
- XslNumber.cs
- EncodingNLS.cs
- InternalSafeNativeMethods.cs
- XmlCountingReader.cs
- ConfigXmlWhitespace.cs
- CharUnicodeInfo.cs
- _ProxyChain.cs
- WebUtility.cs
- CodeDelegateCreateExpression.cs
- CategoryValueConverter.cs
- XmlDocumentSerializer.cs
- CommonDialog.cs
- HttpWebResponse.cs
- MissingManifestResourceException.cs
- FileAuthorizationModule.cs
- LineServicesCallbacks.cs
- MSAAWinEventWrap.cs
- SafeNativeMemoryHandle.cs
- SiteMapHierarchicalDataSourceView.cs
- XmlSchemaComplexContent.cs
- StaticExtension.cs
- SqlNamer.cs
- EditingMode.cs
- TypeName.cs
- MenuBindingsEditor.cs