これはばかげた間違いです:
List<Foo> fooList = new List<Foo>();
Foo f = new Foo();
while (something.Read()) {
f.Fill(something.GetRecord());
fooList.Add(f);
}
もちろん、ループ内で新しいFooをインスタンス化する必要があります。
コンパイラはコンパイル時にこの種の間違いを検出できますか?
素朴な目には、この動作を検出できるはずです(ループ内の同じオブジェクトのインスタンスでリストを埋める)。次に、「同じインスタンスでコンテナを複数回満たしています。」などの警告を発行する必要があります。
それで、私はどれほど素朴ですか?このようなものが存在する言語を知っていますか?