質問というより気になってることですが。
.NET2.0のC#をみてたらyieldって命令が増えてますが、
これって内部でスレッド使ってるのかコンパイラが賢いことしてるのか気になります。
public System.Collections.IEnumerator GetEnumerator()
{ foreach (string day in m_Days) yield return day; }
どうなのでしょう?