rksoftware

Visual Studio とか C# とかが好きです

.NET Standard で使える DataTable (その3 / Extensions)

DataTable が、.NET Standard で使えるようになっていることに気が付いたので少し調べてみています。

前回までのあらすじ(DataTable の API の比較)

前回までのあらすじ(DataRow の API の比較)

ひとまずこれまでの確認で、DataTable、DataRow ともに全ての コンストラクタ/メソッド/プロパティ が .NET Framework と同様に使えることが確認できました。
他にも DataColumn などのクラスもありますが、こちらはまあ良いでしょう。DataTable を愛する方々があまり使い込んでいるクラスではないと思いますし。

■ .NET Standard で使えない DataTable

しかし、安心するのはまだ早いです。
DataTable/DataRow のメソッドはこれだけではありません。C# には拡張メソッドという機能があります。 https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/extension-methods

油断せずこちらも確認してみましょう。

.NET Framework .NET Stabdard .NET Core
DataTableExtensions ある ない ない
DataRowExtensions ある ない ない

拡張メソッドはないようです。 では、拡張メソッドがないとどのメソッドが使えないのでしょうか?

DataTableExtensions のメソッド

  • AsDataView
  • AsEnumerable
  • CopyToDataTable

DataRowExtensions のメソッド

  • T Field

何気に結構使われているだろうメソッドがないことがわかりました。
油断なりませんね。