何が起こっているのかを本当に理解せずに、Visual Studio がコードを修正することを許可しないように、私は本当に懸命に努力しています。しかし、ここで問題を解決するのに役立ちました。続行する前に、何が起こっているのかを理解したいと思います.
ドキュメントを読むと、メソッドを引数として渡していると思いますか? 引数として渡すときはなぜ ExposureIterator() の最後に () を持たなければならないのですか? (以下の最初の Bar メソッドが正しいメソッドです)。私は壮大な脳のおならを抱えているか、本当に重要なものを見逃しているに違いないと感じています. 前者であることを切に願います…
助けてくれてありがとう :)
public void Foo (Ienumerable iterator)
{
...
}
public static System.Collections.IEnumerable exposureIterator()
{
for (int i = 20; i < 55; i += 5)
{
yield return i.ToString();
}
}
public void Bar()
{
Foo(exposureIterator());
}
VS
public void Bar()
{
Foo(exposureIterator);
}
編集:ちょうど気づいた。System.Collections.IEnumerable は単なる戻り値の型であり、そのように参照されていることが私を混乱させました。ハーダー。みなさん、説明をありがとうございました:)