Вероятно, это простой синтаксический вопрос, но я не могу понять.
Обычно я бы сделал так:
public class OrderBook : IEnumerable<PriceLevel>
{
private readonly List<PriceLevel> PriceLevels = new List<PriceLevel>();
public IEnumerator<PriceLevel> GetEnumerator()
{
return PriceLevels.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return PriceLevels.GetEnumerator();
}
}
Но вместо списка я хочу использовать массив -вот так:
public class ArrayOrderBook : IEnumerable<PriceLevel>
{
private PriceLevel[] PriceLevels = new PriceLevel[500];
public IEnumerator<PriceLevel> GetEnumerator()
{
return PriceLevels.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator()
{
return PriceLevels.GetEnumerator();
}
}
IEnumerator IEnumerable.GetEnumerator()
кажется, что компилируется нормально -, но публика IEnumerator<PriceLevel>
говорит, что мне нужно какое-то приведение -, как лучше всего это сделать?
Уильям