1

i'm using this ViewModel

public class SliderViewModel
{
    public Models.Slider Slider { get; set; }
    public System.Collections.Generic.IList<System.Web.Mvc.SelectListItem> Priorities { get; set; }
    public int Selected_Priority { get; set; }
}

now i want to create list to bind to dropdownlist in view

IList<System.Web.Mvc.SelectListItem> list = new IList<System.Web.Mvc.SelectListItem>();

for (int i = 1; i <= SliderCount; i++)
{
    list.Add(new SelectListItem() { Value = i.ToString(), Text = i.ToString() });
}

objSlider.Priorities = list;

i'm using this code but get an error
Cannot create an instance of the abstract class or interface 'System.Collections.Generic.IList'

barzin.A
  • 1,554
  • 2
  • 12
  • 20

3 Answers3

1
IList<System.Web.Mvc.SelectListItem> list = new IList<System.Web.Mvc.SelectListItem>();

should be

IList<System.Web.Mvc.SelectListItem> list = new List<System.Web.Mvc.SelectListItem>();
Yaman
  • 1,030
  • 17
  • 33
1

try:

IList<System.Web.Mvc.SelectListItem> list = new List<System.Web.Mvc.SelectListItem>();

notice the right-hand said is type List.

You cannot directly instantiate an interface, that's a rule of the framework.

Jonesopolis
  • 25,034
  • 12
  • 68
  • 112
1

It could be a typo in the following line

IList<System.Web.Mvc.SelectListItem> list = new IList<System.Web.Mvc.SelectListItem>();

You cannot instantiate an interface. Instead, create an object List that implements the interface IList

NamiraJV
  • 658
  • 1
  • 7
  • 11