Я продолжаю получать «нужен конструктор с 0 аргументами или только необязательными аргументами. (Параметр« тип »)» - PullRequest
0 голосов
/ 23 марта 2020

Я использую версию 9. Я использую конфигурацию на основе профиля. Когда я запускаю приложение, метод Mapper.Map <> () выдает следующее исключение:

JobAssist.Services.ResumeBankMgmt.API.Application.ViewModels.ResumeBankViewModel должен иметь конструктор с 0 аргументами или только необязательные аргументы. (Параметр 'type')

Я не знаю, что вызывает это.

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Проблема заключалась в том, что у меня был один параметр, который не был назван точно так же, как мое свойство класса. Смотрите, я изменил «категории» в конструкторе на «резюме».

Оригинальный код:

public class ResumeBankViewModel
{
        public List<ResumeCategoryViewModel> ResumeCategories { get; set; }


        public ResumeBankViewModel(int id, int jobSeekerID, List<ResumeViewModel> resumes, List<ResumeCategoryViewModel> categories)

новый код:

public class ResumeBankViewModel
{
        public List<ResumeCategoryViewModel> ResumeCategories { get; set; }


    public ResumeBankViewModel(int id, int jobSeekerID, List<ResumeViewModel> resumes, List<ResumeCategoryViewModel> resumeCategories)
1 голос
/ 23 марта 2020

Предполагая, что у вас есть доступ к исходному коду, а это не из сторонней сборки, на которую вы ссылаетесь ...

Найдите определение класса ResumeBankViewModel (ViewModels \ ResumeBankViewModel.cs это, вероятно, хорошее место для начала.)

И добавьте эту строку:

public ResumeBankViewModel(){ }

Если есть такая строка:

private ResumeBankViewModel() /* { etc. } */

Или вот это:

internal ResumeBankViewModel() /* { etc. } */

Вы можете изменить private / internal на public.

Вы также можете wi sh посмотреть на другие конструкторы publi c, которые уже есть определите и передайте некоторые подходящие значения одному из них:

public ResumeBankViewModel() : this(value1, value2, value3) { }

или сделайте его параметры необязательными:

public ResumeBankViewModel(object arg1 = value1, object arg2 = value2, object arg3 = value3)

Любое из них может привести к дополнительным проблемам, с которыми вам придется работать , но одним из них является минимум для устранения этой ошибки.

...