Inconsistent accessibility: parameter type 'System.Linq.Expressions.Expression<BusinessLayer.Func<TModel,TProperty>>' is less accessible than method 'BusinessLayer.Extension.EnumDropDownListFor<TModel,TProperty,TEnum> (System.Web.Mvc.HtmlHelper<TModel>, System.Linq.Expressions.Expression<BusinessLayer.Func<TModel,TProperty>>, TEnum)'
namespace BusinessLayer { public static class Extension { public static MvcHtmlString EnumDropDownListFor<TModel, TProperty, TEnum>( this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, TEnum selectedValue) { IEnumerable<TEnum> values = System.Enum.GetValues(typeof(TEnum)) .Cast<TEnum>(); IEnumerable<SelectListItem> items = from value in values select new SelectListItem() { Text = value.ToString(), Value = value.ToString(), Selected = (value.Equals(selectedValue)) }; return SelectExtensions.DropDownListFor(htmlHelper, expression,items); } } }