aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Data.WindowsInstaller/TableExtensions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Data.WindowsInstaller/TableExtensions.cs')
-rw-r--r--src/WixToolset.Data.WindowsInstaller/TableExtensions.cs23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/WixToolset.Data.WindowsInstaller/TableExtensions.cs b/src/WixToolset.Data.WindowsInstaller/TableExtensions.cs
new file mode 100644
index 00000000..1be64ffe
--- /dev/null
+++ b/src/WixToolset.Data.WindowsInstaller/TableExtensions.cs
@@ -0,0 +1,23 @@
1// Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information.
2
3namespace WixToolset.Data
4{
5 using System.Collections.Generic;
6 using System.Linq;
7
8 /// <summary>
9 /// Methods that extend <see cref="Table"/>.
10 /// </summary>
11 public static class TableExtensions
12 {
13 /// <summary>
14 /// Gets the rows contained in the table as a particular row type.
15 /// </summary>
16 /// <param name="table">Table to get rows from.</param>
17 /// <remarks>If the <paramref name="table"/> is null, an empty enumerable will be returned.</remarks>
18 public static IEnumerable<T> RowsAs<T>(this Table table) where T : Row
19 {
20 return (null == table) ? Enumerable.Empty<T>() : table.Rows.Cast<T>();
21 }
22 }
23}