Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / DataSet / System / Data / TypedTableBaseExtensions.cs / 1 / 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. //------------------------------------------------------------------------------ // // 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
- EventLogPermission.cs
- ExternalException.cs
- XPathExpr.cs
- Error.cs
- DataFormat.cs
- PackageRelationshipSelector.cs
- XmlWellformedWriter.cs
- XmlnsDefinitionAttribute.cs
- StylusPlugin.cs
- LocalizedNameDescriptionPair.cs
- DateTime.cs
- AutomationEventArgs.cs
- WebPartAuthorizationEventArgs.cs
- FixedDocument.cs
- ArrayList.cs
- RemoteArgument.cs
- TypeDependencyAttribute.cs
- PanelStyle.cs
- ListItemsPage.cs
- MessageFilterException.cs
- CreateUserErrorEventArgs.cs
- GridViewColumnHeader.cs
- PassportAuthenticationEventArgs.cs
- TableLayoutSettings.cs
- CdpEqualityComparer.cs
- Matrix.cs
- ReflectionHelper.cs
- LinqDataSourceView.cs
- XPathNodePointer.cs
- TreeNodeCollection.cs
- DataGridViewCellStyleConverter.cs
- KeyEventArgs.cs
- SmiEventStream.cs
- InternalPermissions.cs
- WebPartVerbCollection.cs
- AdapterDictionary.cs
- Validator.cs
- WindowsToolbarAsMenu.cs
- BaseDataBoundControl.cs
- QilStrConcat.cs
- QueryCacheEntry.cs
- EntityDataSourceState.cs
- InputLanguageCollection.cs
- RefreshPropertiesAttribute.cs
- Int32EqualityComparer.cs
- Attributes.cs
- DataList.cs
- WeakReference.cs
- BoundField.cs
- StringCollection.cs
- XmlDocumentType.cs
- Validator.cs
- ResourceProviderFactory.cs
- AuthenticationSection.cs
- DisplayToken.cs
- DataGridViewTopLeftHeaderCell.cs
- CodeGeneratorOptions.cs
- Soap12ProtocolImporter.cs
- Utils.cs
- CodeSnippetCompileUnit.cs
- WebPartMinimizeVerb.cs
- ValidationException.cs
- BuildProviderAppliesToAttribute.cs
- Timeline.cs
- EnumValAlphaComparer.cs
- sqlnorm.cs
- XmlWhitespace.cs
- SQLBytesStorage.cs
- HandleScope.cs
- PerfCounterSection.cs
- XmlSchemaSet.cs
- WpfXamlType.cs
- RijndaelCryptoServiceProvider.cs
- HtmlShimManager.cs
- CryptoKeySecurity.cs
- XPathExpr.cs
- HttpConfigurationSystem.cs
- ActionFrame.cs
- Timer.cs
- PointLight.cs
- GatewayDefinition.cs
- ConfigurationValue.cs
- ResourceManagerWrapper.cs
- WbemException.cs
- MSAANativeProvider.cs
- InputBindingCollection.cs
- XmlSerializationReader.cs
- SpeechDetectedEventArgs.cs
- Speller.cs
- EnumUnknown.cs
- Camera.cs
- HTTPNotFoundHandler.cs
- CommandEventArgs.cs
- SemanticKeyElement.cs
- PLINQETWProvider.cs
- ImageIndexEditor.cs
- elementinformation.cs
- ConnectionStringsSection.cs
- KeyFrames.cs
- ReadOnlyCollectionBase.cs