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
- TemplateXamlParser.cs
- TextRunTypographyProperties.cs
- PartialArray.cs
- ThaiBuddhistCalendar.cs
- EditorPartChrome.cs
- GridProviderWrapper.cs
- FontFaceLayoutInfo.cs
- TreeNodeCollection.cs
- OdbcRowUpdatingEvent.cs
- ScrollProviderWrapper.cs
- exports.cs
- ReadOnlyHierarchicalDataSource.cs
- Soap.cs
- DebugView.cs
- DynamicActionMessageFilter.cs
- ContractHandle.cs
- RemoteWebConfigurationHostStream.cs
- GetPageCompletedEventArgs.cs
- ColorMap.cs
- PhysicalAddress.cs
- NameTable.cs
- SystemIPGlobalProperties.cs
- HitTestDrawingContextWalker.cs
- ZipPackagePart.cs
- ListSourceHelper.cs
- DataRelationPropertyDescriptor.cs
- followingsibling.cs
- TreeNodeEventArgs.cs
- TreeNodeBinding.cs
- Control.cs
- DesignerDataView.cs
- CompensationToken.cs
- PagerSettings.cs
- LocationSectionRecord.cs
- SchemaCollectionCompiler.cs
- Base64Stream.cs
- WindowsSysHeader.cs
- DataGridItemAutomationPeer.cs
- MaterializeFromAtom.cs
- DesignerValidatorAdapter.cs
- CalendarDay.cs
- Span.cs
- MachineSettingsSection.cs
- ExtensionDataObject.cs
- PrefixQName.cs
- WorkflowApplicationAbortedException.cs
- WmlLabelAdapter.cs
- HtmlTableRowCollection.cs
- BatchParser.cs
- HttpRequestCacheValidator.cs
- ShapeTypeface.cs
- CompressedStack.cs
- SchemaEntity.cs
- IdleTimeoutMonitor.cs
- ApplicationProxyInternal.cs
- DesignerDataSourceView.cs
- Type.cs
- SamlNameIdentifierClaimResource.cs
- ScriptControl.cs
- NumberEdit.cs
- EditorPartChrome.cs
- StylusPointProperties.cs
- ParseElementCollection.cs
- CopyAction.cs
- Hashtable.cs
- ClockController.cs
- JsonObjectDataContract.cs
- DesignerTextWriter.cs
- Console.cs
- sqlinternaltransaction.cs
- __FastResourceComparer.cs
- VoiceSynthesis.cs
- DataGridViewIntLinkedList.cs
- ScriptReferenceBase.cs
- ModelItemKeyValuePair.cs
- autovalidator.cs
- WindowsFormsHost.cs
- AutomationEvent.cs
- EndpointIdentity.cs
- Int16AnimationBase.cs
- BitmapEncoder.cs
- EditorPart.cs
- _SingleItemRequestCache.cs
- WebPartManagerInternals.cs
- TransportConfigurationTypeElementCollection.cs
- Logging.cs
- XmlValueConverter.cs
- COM2Enum.cs
- DesignerCategoryAttribute.cs
- PackWebRequest.cs
- SuppressMergeCheckAttribute.cs
- GradientSpreadMethodValidation.cs
- _ServiceNameStore.cs
- AppDomainAttributes.cs
- Script.cs
- CalendarTable.cs
- PresentationAppDomainManager.cs
- _ListenerRequestStream.cs
- StylusButton.cs
- SerialErrors.cs