Конструктор без параметра с двумя «новыми» ключевыми словами - PullRequest
0 голосов
/ 26 мая 2020

Привет, я занят изучением шаблона репозитория и пока смотрю это видео на YouTube здесь в 14: 05

Я понял, что парень вставил два новые ключевые слова в a конструктор без параметров , тогда как я никогда раньше не встречал ничего подобного.

Я знаю, что ключевое слово new используется для создания нового экземпляра объекта, такого как

Bird firstBird = new Bird();

, но я никогда не видел, как это можно сделать ниже.

private Iempployee iemp;

public EmpController()
{
    this.iemp = new RepositoryEmployee(new SampleDBEntities());
}

Единственный способ, которым я знаю, как это сделать в конструкторе без параметров , - это:

 public EmpController()
 {
   this.iemp = "some string";
 }

Ответы [ 2 ]

2 голосов
/ 26 мая 2020

Это в точности эквивалентно:

private Iempployee iemp;

public EmpController()
{
    SampleDBEntities entities = new SampleDBEntities();
    this.iemp = new RepositoryEmployee(entities);
}

Они просто сохранили строку, объединив их.

1 голос
/ 26 мая 2020

Здесь нет ничего странного. Код конструктора такой же, как и любой другой код. Этот код чем-то инициализирует this.iemp. Это что-то вроде объекта RepositoryEmployee, конструктору которого требуется объект SampleDBEntities.

Чтобы создать EmpController, вы должны написать new EmpController(), и, насколько вам известно, это единственный new, о котором вы должны заботиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...