/// <summary> /// Gets the taxon items. /// </summary> /// <typeparam name="T">Generic type parameter.</typeparam> /// <param name="taxon">The taxon.</param> /// <param name="skip">(Optional) The skip.</param> /// <param name="take">(Optional) The take.</param> /// <returns> /// An enumerator that allows foreach to be used to process the taxon items in this collection. /// </returns> public static IEnumerable <T> GetItems <T>(this ITaxon taxon, int skip = 0, int take = 999) { // get the manager for the items, e.g. NewsManager var manager = ManagerBase.GetMappedManager(typeof(T)); // get the base content database provider var contentProvider = manager.Provider as ContentDataProviderBase; // get a taxonomy property descriptor for this item type and taxon var prop = TaxonomyManager.GetPropertyDescriptor(typeof(T), taxon); int?totalCount = 0; // use the GetItemsByTaxon() method to return IEnumerable of items. var items = contentProvider.GetItemsByTaxon(taxon.Id, prop.MetaField.IsSingleTaxon, prop.Name, typeof(T), string.Empty, // filter string.Empty, // order by skip, // skip take, // take ref totalCount); return(items as IEnumerable <T>); }