这可能是一个简单的语法问题,但我无法弄清楚。
通常,我会这样做:
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>
我需要某种演员 - 这样做的最佳方法是什么?
威廉