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
- Accessible.cs
- PropertyFilterAttribute.cs
- ClientBuildManagerCallback.cs
- BrowserDefinition.cs
- StateItem.cs
- ToolStripSettings.cs
- XmlWrappingReader.cs
- AsyncStreamReader.cs
- CustomActivityDesigner.cs
- EventLogTraceListener.cs
- baseaxisquery.cs
- DataGridViewRowCancelEventArgs.cs
- DBBindings.cs
- FormatSettings.cs
- Faults.cs
- DataColumnMapping.cs
- MarginsConverter.cs
- PermissionAttributes.cs
- InvokePattern.cs
- ISCIIEncoding.cs
- Command.cs
- BinaryUtilClasses.cs
- _AutoWebProxyScriptHelper.cs
- Transform3D.cs
- UniqueCodeIdentifierScope.cs
- RuleConditionDialog.cs
- CompositeFontParser.cs
- Resources.Designer.cs
- DispatcherFrame.cs
- TextBox.cs
- ChtmlTextWriter.cs
- ServerIdentity.cs
- WpfKnownTypeInvoker.cs
- TemplateManager.cs
- QilVisitor.cs
- XPathNavigatorReader.cs
- Component.cs
- MergeFailedEvent.cs
- DataControlFieldCollection.cs
- RenderData.cs
- SamlAction.cs
- TextHidden.cs
- DataServiceStreamResponse.cs
- OleDbRowUpdatingEvent.cs
- ListViewItem.cs
- IIS7ConfigurationLoader.cs
- Pool.cs
- BitmapEffectInput.cs
- UpdateEventArgs.cs
- DragCompletedEventArgs.cs
- ISO2022Encoding.cs
- BlurEffect.cs
- TransformBlockRequest.cs
- GPStream.cs
- MarkupWriter.cs
- OdbcParameter.cs
- CardSpacePolicyElement.cs
- SelectionGlyphBase.cs
- WindowsBrush.cs
- SamlAssertion.cs
- TransformGroup.cs
- VisualBrush.cs
- Container.cs
- Decimal.cs
- FileLogRecordStream.cs
- IResourceProvider.cs
- RequestCacheValidator.cs
- CodeMemberEvent.cs
- followingsibling.cs
- PersistenceException.cs
- WebPartHelpVerb.cs
- ProfileEventArgs.cs
- ToolStripLocationCancelEventArgs.cs
- DockingAttribute.cs
- TextServicesContext.cs
- XPathSelectionIterator.cs
- Attributes.cs
- ZoneLinkButton.cs
- MarkupExtensionSerializer.cs
- RequestTimeoutManager.cs
- DeliveryRequirementsAttribute.cs
- BitmapImage.cs
- DurationConverter.cs
- ItemsPanelTemplate.cs
- HMACSHA256.cs
- ValidationResults.cs
- ProxyFragment.cs
- PageCatalogPart.cs
- BinaryFormatterWriter.cs
- MessageCredentialType.cs
- PropertyBuilder.cs
- ClientSession.cs
- XamlSerializationHelper.cs
- _NetRes.cs
- CodePageUtils.cs
- ProcessModelSection.cs
- DbTransaction.cs
- CheckBoxRenderer.cs
- QuaternionRotation3D.cs
- SafeNativeMethods.cs