Похоже, _assignmentRepo
- это null
, потому что вы никогда не назначали его. Линия
IAssignmentRepository _assignmentRepo;
объявляет переменную _assignmentRepo
, которая является ссылкой на объект, который реализует IAssignmentRepository
, но фактически не создает такой объект. В какой-то момент в вашем коде вам понадобится строка типа
_assignmentRepo = new AssignmentRepository();
где AssignmentRepository
- класс, который реализует IAssignmentRepository
. Конечно, вы можете объявить и создать экземпляр в одной строке:
IAssignmentRepository _assignmentRepo = new AssignmentRepository();
Есть и другие варианты, например
_assignmentRepo = RepositoryFactory.CreateRepository<AssignmentRepository>();
Очень простой способ проверить это - установить точку останова на ошибочной строке, запустить отладчик и работать до тех пор, пока вы не достигнете точки останова, а затем навести указатель мыши на _assignmentRepo
. Затем появится всплывающая подсказка, и вы увидите, действительно ли _assignmentRepo
null
.
Если вы опускаете детали, и вы на самом деле определенно присвоили _assignmentRepo
, тогда единственная другая возможность состоит в том, что lvmMain
является нулевым. Вы не дали нам достаточно информации, чтобы понять, почему это может иметь место.