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
- FileInfo.cs
- FatalException.cs
- Membership.cs
- MetadataUtilsSmi.cs
- PreservationFileWriter.cs
- UDPClient.cs
- isolationinterop.cs
- WebReferenceOptions.cs
- DbDataAdapter.cs
- AuthorizationRuleCollection.cs
- LineInfo.cs
- MsmqReceiveParameters.cs
- HMACSHA1.cs
- UriExt.cs
- RectangleGeometry.cs
- ObjectHelper.cs
- ValueChangedEventManager.cs
- EventLogException.cs
- CodeDomSerializerException.cs
- BaseAsyncResult.cs
- XmlChildEnumerator.cs
- PropertyBuilder.cs
- FamilyMap.cs
- DetailsViewModeEventArgs.cs
- RectIndependentAnimationStorage.cs
- SymLanguageType.cs
- ZipPackage.cs
- SyndicationSerializer.cs
- UnsafeNativeMethodsMilCoreApi.cs
- BitmapEffectDrawing.cs
- DigestTraceRecordHelper.cs
- UserInitiatedRoutedEventPermission.cs
- Blend.cs
- ColumnWidthChangingEvent.cs
- TabControl.cs
- IDispatchConstantAttribute.cs
- ExpressionStringBuilder.cs
- AutomationIdentifier.cs
- ImageIndexConverter.cs
- COM2ExtendedTypeConverter.cs
- KeyManager.cs
- InvokeAction.cs
- SmtpTransport.cs
- NameValuePermission.cs
- SeverityFilter.cs
- QilLiteral.cs
- SqlClientMetaDataCollectionNames.cs
- AcceleratedTokenProviderState.cs
- WindowsProgressbar.cs
- XmlIgnoreAttribute.cs
- StylusOverProperty.cs
- ProjectionPathBuilder.cs
- HttpCapabilitiesEvaluator.cs
- KeyManager.cs
- ExpandCollapsePattern.cs
- TabPage.cs
- RequestQueue.cs
- MenuItemStyleCollection.cs
- TextEditorDragDrop.cs
- Error.cs
- HashJoinQueryOperatorEnumerator.cs
- InputBindingCollection.cs
- ProxyAttribute.cs
- PolyLineSegment.cs
- WebPartRestoreVerb.cs
- WebEventTraceProvider.cs
- PassportAuthenticationEventArgs.cs
- PlatformNotSupportedException.cs
- ProfileParameter.cs
- ErrorReporting.cs
- HashHelper.cs
- SHA256Cng.cs
- Metadata.cs
- UrlMappingCollection.cs
- RelationshipFixer.cs
- BaseHashHelper.cs
- NameValueSectionHandler.cs
- CodeRegionDirective.cs
- CounterSetInstanceCounterDataSet.cs
- MoveSizeWinEventHandler.cs
- SettingsPropertyValueCollection.cs
- SubstitutionList.cs
- DBAsyncResult.cs
- HttpRuntime.cs
- ListViewItemSelectionChangedEvent.cs
- Application.cs
- StateManagedCollection.cs
- CompressStream.cs
- MultiBindingExpression.cs
- ParameterCollection.cs
- BaseResourcesBuildProvider.cs
- CngAlgorithmGroup.cs
- BitmapFrameEncode.cs
- TypeConverterAttribute.cs
- LateBoundBitmapDecoder.cs
- ConstNode.cs
- TreeIterator.cs
- SqlDataSourceConfigureSelectPanel.cs
- ManagementNamedValueCollection.cs
- GotoExpression.cs