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