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