電話をかける正しい方法はどれくらい正確IEnumerator.Reset
ですか?
ドキュメントには次のように書かれています。
この
Reset
メソッドは、COMの相互運用性のために提供されています。必ずしも実装する必要はありません。代わりに、実装者は単に。をスローできますNotSupportedException
。
さて、それは私がそれを呼ぶことになっていないという意味ですか?
フロー制御に例外を使用するのはとても魅力的です。
using (enumerator = GetSomeExpensiveEnumerator())
{
while (enumerator.MoveNext()) { ... }
try { enumerator.Reset(); } //Try an inexpensive method
catch (NotSupportedException)
{ enumerator = GetSomeExpensiveEnumerator(); } //Fine, get another one
while (enumerator.MoveNext()) { ... }
}
それは私たちがそれを使用することになっている方法ですか?それとも、マネージコードから使用するつもりはありませんか?