Tambourine作業メモ

主にスキル習得のためにやった作業のメモ。他人には基本的に無用のものです。

[VB]Yield

VBでもVS2012からYieldが使えるようになった。喜ばしい。これなしでIEnumerableとIEnumeratorを両方実装するコレクションはRubyist的に不満だったからね。

IEnumerableを実装し、GetEnumeratorメソッドを実装すれば、LINQのクーリエ演算子が何でも使えるはず!

Public Function GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator
    For Each i in lists
        Yield New Hoge(i)
    End
End Function

Yieldなんて知らんっていわれた(T-T)

Public Iterator Function GetEnumerator() As IEnumerator Implements IEnumerable.GetEnumerator
    For Each i in lists
        Yield New Hoge(i)
    End
End Function

Iterator という修飾子がないとだめらしい。