Как сделать yield возвращающий пустой енумератор ? Пока что я сделал так:
public override IEnumerable<MetaChartInfo> Charts
{
get
{
if (false)
yield return null;
}
}
Но, ругается на Unreachable code detected
Так вот не проходит:
public override IEnumerable<MetaChartInfo> Charts
{
get
{
}
}
Здравствуйте, Sergey J. A., Вы писали:
SJA>Как сделать yield возвращающий пустой енумератор ? Пока что я сделал так:
SJA>SJA>public override IEnumerable<MetaChartInfo> Charts
SJA>{
SJA> get
SJA> {
SJA> if (false)
SJA> yield return null;
SJA> }
SJA>}
SJA>
SJA>Но, ругается на Unreachable code detected
SJA>Так вот не проходит:
SJA>SJA>public override IEnumerable<MetaChartInfo> Charts
SJA>{
SJA> get
SJA> {
SJA> }
SJA>}
SJA>
а зачем так сложно?
public override IEnumerable<MetaChartInfo> Charts
{
get
{
return new MetaChartInfo[0];
}
}
Здравствуйте, Sergey J. A., Вы писали:
SJA>Как сделать yield возвращающий пустой енумератор ? Пока что я сделал так:
А как насчет почитать MSDN?
public override IEnumerable<MetaChartInfo> Charts
{
get
{
yield break;
}
}
1.2.0 alpha rev. 655
Здравствуйте, Sergey J. A., Вы писали:
SJA>Как сделать yield возвращающий пустой енумератор ? Пока что я сделал так:
SJA>SJA>public override IEnumerable<MetaChartInfo> Charts
SJA>{
SJA> get
SJA> {
SJA> if (false)
SJA> yield return null;
SJA> }
SJA>}
SJA>
SJA>Но, ругается на Unreachable code detected
SJA>Так вот не проходит:
SJA>SJA>public override IEnumerable<MetaChartInfo> Charts
SJA>{
SJA> get
SJA> {
SJA> }
SJA>}
SJA>
Unreachable code detected потому что после if, решение — убрать if или после него поставить еще return. yeld break — не замена, т.к. null тоже значение и его можно возвращать скока надо раз, а yeld break вернет false из MoveNext().
Здравствуйте, AK85, Вы писали:
AK>Unreachable code detected потому что после if, решение — убрать if или после него поставить еще return. yeld break — не замена, т.к. null тоже значение и его можно возвращать скока надо раз, а yeld break вернет false из MoveNext().
Мне и нужно было вернуть пустой итератор, поэтому я поместил фейковый код, после if(false). Так что, yield break тут очень даже подходит.