いや、夜も遅いんで、ちょっとだけかなぁ。

Blogに書いたと思ってた記事がUpしてないことに気がついたので、なま暖かくて柔らかい、ちょっと触るとプルプル動くの勝手気ままなコンバート二回目だ。

 前回、DataViewとDataRowViewをつくらないといけないんじゃ、と書いたが、実はそれをするとシヌル。というのもDataRowViewは派生できないから、そのまま利用するしかないクラスだ。

 しかし、第一の目的のcontainer.item.hogePropという形にもっていくのは、DataRowViewを使ってはいけない。必ずそこにキャストが入ってしまうからだ。


 なので、DataViewとDataRowView相当を作るのが正しい...と後で気がついたが、菊池さん本人もそういう趣旨のことをコメントで追記してた。
ええ、はまりましたよ、一度。

んで、DataViewとDataRowView相当を実装するとなったときに、ExecuteSelectで返すのがIEnumeratorってことに注意。つまり、IEnumeratorと、IEnumerableを実装する必要がある。
当然ながら、こう。

 Public class HogeDataView implements IEnumerable
 
      protected overrides Function GetEnumerator() as IEnumerator
      (ちょっとこの部分は、嘘かも)
   end Function

      protected class HogeDataRowVIew implements IEnumerator
      end class
   end class
 

続きは、次回。