Data.DataTableを列数で並べ替えるために使用している次のVB.NETコードがあります。
For Each dtTarget As Data.DataTable In _
From x In Target.Tables _
Where DirectCast(x, Data.DataTable).Rows.Count > 0 _
Order By DirectCast(x, Data.DataTable).Columns.Count
...
Next
LINQクエリで参照されるたびに(この場合は2回)DirectCastを実行しなくても、xがData.DataTableであることを示す方法はありますか?