Имя функции ScrollableCheckboxList
совпадает с именем вашего класса.
Сама ошибка верна, ваш код - нет.
Вы хотите объявить конструктор, но добавив void перед именем конструктора, компилятор C # считает, что это функция. И функции не могут иметь того же имени, что и класс, в котором они живут (отсюда и ошибка).
Удалите void
перед именем функции, тогда она станет конструктором.
И укажите ограничения TModel
на уровне класса.
public /* void */ ScrollableCheckboxList /* <TModel> */(IEnumerable<TModel> items, string valueField, string textField, string titleField) /* where TModel : class */