/// <summary> /// Gets list items for property that implemented as <see cref="IPropertyContainer"/> list. /// Example: /// <code> /// - Source: IPropertyContainer /// - ListProperty: IPropertyContainer /// - ListItem: IPropertyContainer /// - ListItem: IPropertyContainer /// </code> /// </summary> /// <param name="propertyContainer">Source property container.</param> /// <param name="listProperty">List property.</param> /// <returns>ListItem enumeration.</returns> public static IEnumerable <IPropertyContainer> GetListItems( this IPropertyContainer propertyContainer, IProperty <IPropertyContainer> listProperty) { IPropertyContainer list = propertyContainer.GetValue(listProperty) ?? PropertyContainer.Empty; return(list .Select(pv => pv.ValueUntyped as IPropertyContainer) .Where(container => container != null) !); }