using System.Collections;
using System.Collections.Generic;
using System.Linq;
namespace Umbraco.Core.Composing
{
///
/// Provides a base class for builder collections.
///
/// The type of the items.
public abstract class BuilderCollectionBase : IBuilderCollection
{
private readonly TItem[] _items;
///
/// Initializes a new instance of the with items.
///
/// The items.
protected BuilderCollectionBase(IEnumerable items)
{
_items = items.ToArray();
}
///
public int Count => _items.Length;
///
/// Gets an enumerator.
///
public IEnumerator GetEnumerator()
{
return ((IEnumerable) _items).GetEnumerator();
}
///
/// Gets an enumerator.
///
IEnumerator IEnumerable.GetEnumerator()
{
return GetEnumerator();
}
}
}