Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataSet / System / Data / TypedTableBaseExtensions.cs / 1305376 / TypedTableBaseExtensions.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //[....] //----------------------------------------------------------------------------- using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Globalization; using System.Diagnostics; namespace System.Data { ////// This static class defines the extension methods that add LINQ operator functionality /// within IEnumerableDT and IOrderedEnumerableDT. /// public static class TypedTableBaseExtensions { ////// LINQ's Where operator for generic EnumerableRowCollection. /// public static EnumerableRowCollectionWhere ( this TypedTableBase source, Func predicate) where TRow : DataRow { DataSetUtil.CheckArgumentNull(source, "source"); EnumerableRowCollection erc = new EnumerableRowCollection ((DataTable)source); return erc.Where (predicate); } /// /// LINQ's OrderBy operator for generic EnumerableRowCollection. /// public static OrderedEnumerableRowCollectionOrderBy ( this TypedTableBase source, Func keySelector) where TRow : DataRow { DataSetUtil.CheckArgumentNull(source, "source"); EnumerableRowCollection erc = new EnumerableRowCollection ((DataTable)source); return erc.OrderBy (keySelector); } /// /// LINQ's OrderBy operator for generic EnumerableRowCollection. /// public static OrderedEnumerableRowCollectionOrderBy ( this TypedTableBase source, Func keySelector, IComparer comparer) where TRow : DataRow { DataSetUtil.CheckArgumentNull(source, "source"); EnumerableRowCollection erc = new EnumerableRowCollection ((DataTable)source); return erc.OrderBy (keySelector, comparer); } /// /// LINQ's OrderByDescending operator for generic EnumerableRowCollection. /// public static OrderedEnumerableRowCollectionOrderByDescending ( this TypedTableBase source, Func keySelector) where TRow : DataRow { DataSetUtil.CheckArgumentNull(source, "source"); EnumerableRowCollection erc = new EnumerableRowCollection ((DataTable)source); return erc.OrderByDescending (keySelector); } /// /// LINQ's OrderByDescending operator for generic EnumerableRowCollection. /// public static OrderedEnumerableRowCollectionOrderByDescending ( this TypedTableBase source, Func keySelector, IComparer comparer) where TRow : DataRow { DataSetUtil.CheckArgumentNull(source, "source"); EnumerableRowCollection erc = new EnumerableRowCollection ((DataTable)source); return erc.OrderByDescending (keySelector, comparer); } /// /// Executes a Select (Projection) on EnumerableDataTable. If the selector returns a different /// type than the type of rows, then AsLinqDataView is disabled, and the returning EnumerableDataTable /// represents an enumerable over the LINQ Query. /// public static EnumerableRowCollectionSelect( this TypedTableBase source, Func selector) where TRow : DataRow { DataSetUtil.CheckArgumentNull(source, "source"); EnumerableRowCollection erc = new EnumerableRowCollection ((DataTable)source); return erc.Select (selector); } /// /// This method returns a IEnumerable of TRow. /// /// /// The source DataTable to make enumerable. /// ////// IEnumerable of datarows. /// public static EnumerableRowCollectionAsEnumerable (this TypedTableBase source) where TRow : DataRow { DataSetUtil.CheckArgumentNull(source, "source"); return new EnumerableRowCollection (source as DataTable); } } //end class } // 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
- ToolboxItemAttribute.cs
- SettingsAttributeDictionary.cs
- DetailsViewCommandEventArgs.cs
- LicenseManager.cs
- NativeCompoundFileAPIs.cs
- AbandonedMutexException.cs
- GenericEnumerator.cs
- BaseTemplateParser.cs
- SurrogateEncoder.cs
- _Semaphore.cs
- BatchParser.cs
- UncommonField.cs
- FormsAuthenticationCredentials.cs
- BufferedWebEventProvider.cs
- mansign.cs
- PageParser.cs
- PriorityQueue.cs
- TextTreeTextNode.cs
- AnnotationResourceChangedEventArgs.cs
- ApplicationManager.cs
- ServiceDescriptionSerializer.cs
- FusionWrap.cs
- User.cs
- SourceFileInfo.cs
- NodeLabelEditEvent.cs
- DesignerTextBoxAdapter.cs
- DataServiceHost.cs
- Exception.cs
- precedingquery.cs
- PointAnimation.cs
- ApplicationActivator.cs
- Models.cs
- SoapCommonClasses.cs
- BamlResourceContent.cs
- PerformanceCountersElement.cs
- DynamicEndpointElement.cs
- DataGridHelper.cs
- FilterElement.cs
- SystemIPGlobalProperties.cs
- PeerName.cs
- BrowsableAttribute.cs
- SqlTypesSchemaImporter.cs
- XmlProcessingInstruction.cs
- DataGridPagerStyle.cs
- EdmValidator.cs
- MLangCodePageEncoding.cs
- BezierSegment.cs
- CodeCommentStatementCollection.cs
- HyperLinkColumn.cs
- securitymgrsite.cs
- BaseUriHelper.cs
- TreeNodeStyle.cs
- TerminatorSinks.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- DataGridViewColumnCollectionDialog.cs
- InternalCache.cs
- PenContext.cs
- LinkDescriptor.cs
- CodeIterationStatement.cs
- XmlSchemaAnnotation.cs
- XPathAncestorIterator.cs
- ProxyElement.cs
- ObjectViewListener.cs
- BamlStream.cs
- Convert.cs
- Conditional.cs
- ConfigXmlElement.cs
- EncryptedKey.cs
- Attributes.cs
- ControlCodeDomSerializer.cs
- EventData.cs
- SoapExtension.cs
- GPRECTF.cs
- SpnegoTokenProvider.cs
- XNameTypeConverter.cs
- SmiSettersStream.cs
- PointAnimation.cs
- HostingEnvironment.cs
- DataGridClipboardCellContent.cs
- DataGridViewComboBoxEditingControl.cs
- Stackframe.cs
- HashMembershipCondition.cs
- MetaModel.cs
- XmlSchemaObject.cs
- MissingFieldException.cs
- CommandHelpers.cs
- GC.cs
- TextRunTypographyProperties.cs
- ContractComponent.cs
- MsmqException.cs
- WMIInterop.cs
- PromptStyle.cs
- SaveFileDialog.cs
- DataGridLinkButton.cs
- ScaleTransform.cs
- _NestedSingleAsyncResult.cs
- LocationUpdates.cs
- Publisher.cs
- TabItemWrapperAutomationPeer.cs
- TransactionContextValidator.cs