GenericArguments [0], 'EntityGenericBase`1 [TModel]' нарушает ограничение параметра типа 'TModel' - PullRequest
0 голосов
/ 30 декабря 2018

Может ли кто-нибудь помочь мне в решении этой проблемы: я создал базовую «пользовательский элемент управления», используя c # Winforms в качестве собеседника:

public class EntityGenericBase<TModel> : UserControl
    where TModel : class, IEntityClass, new()
{}

, и я создал еще один пользовательский элемент управления, который наследует «EntityGenericBase» выше каксотрудник:

public class DepartmentView : EntityGenericBase<Department>
{
    public DepartmentView():base()
    {
        InitializeComponent();
    }
}

Но, к несчастью, когда я пытаюсь просмотреть пользовательский элемент управления в режиме разработки, я получаю следующую ошибку:

GenericArguments [0], 'Department', в 'EntityGenericBase`1 [TModel] 'нарушает ограничение параметра типа' TModel '.

Я все еще могу запускать приложение без каких-либо проблем.

Примечание: Когда я удаляю ограничение "where clause", всеотлично работает.

Я использую "Visual Studio Community 2017"

1 Ответ

0 голосов
/ 30 декабря 2018

Как говорится в сообщении об ошибке

GenericArguments [0], 'Department', в EntityGenericBase`1 [TModel] нарушает ограничение параметра типа 'TModel'.

Ваша модель отдела нарушает одно или несколько ограничений

class, IEntityClass, new()

Отдел не является одним или многими из этих

  1. Это не класс
  2. Он не реализует интерфейс IEntityClass
  3. У него нет конструктора без параметров
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...