Ссылка на объект

В одном из моих эталонных проектов .net мне нужно было создать новую модель и соответствующий ей интерфейс, репозиторий и клиентский класс. В методе существующего класса контроллера мне нужно создать запись этого класса модели, но я не хочу использовать интерфейс этого нового класса в качестве внедрения зависимостей. Итак, чтобы вызвать метод из класса репозитория, я попытался напрямую получить доступ к методу, используя имя интерфейса или класса репозитория, например:

ITestRepository.createAsync();
Or
TestRepositoryClient.createAsync();

Здесь ITestRepository — это интерфейс, а класс TestRepositoryClient реализует интерфейс ITestRepository.

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

Затем я попытался создать объект из класса интерфейса, как показано ниже:

ITestRepository myTestRepo = new ITestRepository();

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

Поэтому, чтобы решить эту проблему, я создал экземпляр репозитория, как показано ниже:

ITestRepository myTestRepo = new TestRepositoryClient();

И вызвал метод для этого объекта, как показано ниже:

myTestRepo.createAsync();

Итак, это способ создать экземпляр класса репозитория с использованием интерфейса.

Webner Solutions — компания по разработке программного обеспечения, специализирующаяся на разработке систем управления страховыми агентствами, систем управления обучением и приложений Salesforce. Свяжитесь с нами по адресу [email protected] для подачи заявок на страхование, электронное обучение и Salesforce.

Первоначально опубликовано на https://blog.webnersolutions.com 22 февраля 2021 г.