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
- ExpressionNode.cs
- SqlDataSourceConnectionPanel.cs
- BamlCollectionHolder.cs
- ThreadPool.cs
- WindowsListViewItem.cs
- MultiPageTextView.cs
- DecimalSumAggregationOperator.cs
- HuffCodec.cs
- SliderAutomationPeer.cs
- FrugalList.cs
- SystemIPv4InterfaceProperties.cs
- SrgsElementFactoryCompiler.cs
- XhtmlTextWriter.cs
- OciEnlistContext.cs
- XmlSignatureProperties.cs
- _NetRes.cs
- DateTimeConstantAttribute.cs
- DeferredSelectedIndexReference.cs
- HttpRuntimeSection.cs
- ColumnWidthChangedEvent.cs
- CatalogPartChrome.cs
- Tokenizer.cs
- SynchronizedRandom.cs
- TimerElapsedEvenArgs.cs
- WebRequest.cs
- FolderBrowserDialogDesigner.cs
- BooleanKeyFrameCollection.cs
- LockingPersistenceProvider.cs
- SafeTimerHandle.cs
- VariableAction.cs
- InfoCardUIAgent.cs
- JsonFormatReaderGenerator.cs
- ThemeableAttribute.cs
- X509Certificate2.cs
- QilPatternVisitor.cs
- ControlPaint.cs
- CompilerTypeWithParams.cs
- RecognizeCompletedEventArgs.cs
- XmlnsCompatibleWithAttribute.cs
- DependencyObjectPropertyDescriptor.cs
- ListBox.cs
- ObjectStateFormatter.cs
- Attributes.cs
- Hyperlink.cs
- LogicalTreeHelper.cs
- QilLoop.cs
- DropDownList.cs
- PartDesigner.cs
- Converter.cs
- CodeMemberProperty.cs
- Executor.cs
- XmlRawWriter.cs
- xdrvalidator.cs
- ConfigurationProperty.cs
- XmlAttributeOverrides.cs
- SqlParameterCollection.cs
- ServiceContractDetailViewControl.cs
- C14NUtil.cs
- PageRequestManager.cs
- DataTableExtensions.cs
- XmlChoiceIdentifierAttribute.cs
- SignatureHelper.cs
- RoutingUtilities.cs
- DataRelationPropertyDescriptor.cs
- glyphs.cs
- ping.cs
- StorageScalarPropertyMapping.cs
- InstanceCreationEditor.cs
- Imaging.cs
- GenericQueueSurrogate.cs
- HttpApplicationFactory.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- NavigatorInvalidBodyAccessException.cs
- HtmlMeta.cs
- InputBinding.cs
- OleDbDataAdapter.cs
- Int32CAMarshaler.cs
- CreateParams.cs
- CqlParserHelpers.cs
- TemplateControlBuildProvider.cs
- TextEditorThreadLocalStore.cs
- SByte.cs
- _ListenerAsyncResult.cs
- PermissionToken.cs
- ContainerTracking.cs
- PropertyDescriptorCollection.cs
- DateTimeFormat.cs
- EditingCoordinator.cs
- XmlSchemaType.cs
- MarkupCompilePass2.cs
- StringToken.cs
- ActiveXSite.cs
- MobileControlBuilder.cs
- ProxyHelper.cs
- CheckPair.cs
- EncoderParameter.cs
- GlyphInfoList.cs
- Point3DAnimation.cs
- x509utils.cs
- BehaviorDragDropEventArgs.cs