Как зарегистрировать тип с интерфейсом, реализующим базовый интерфейсC#

Место общения программистов C#
Ответить
Anonymous
 Как зарегистрировать тип с интерфейсом, реализующим базовый интерфейс

Сообщение Anonymous »

Мой вариант использования следующий
У меня есть базовый интерфейс IBaseReport

Код: Выделить всё

 public interface IBaseReport
{
Task GenerateReportAsync(string input);
}
У меня есть два дочерних интерфейса, оба из которых реализуют интерфейс IBaseReport

Код: Выделить всё

public interface IChildReport1:IBaseReport
{

}
public interface IChildReport2:IBaseReport
{

}
IChildReport1 и IChildReport 2 реализуются соответствующими классами

Код: Выделить всё

public class ChildReport1:IChildReport1
{

}
public class ChildReport2:IChildReport2
{

}
Теперь, когда я пытаюсь зарегистрировать интерфейс с реальной реализацией, используя autofac, вот так

Код: Выделить всё

builder.RegisterType().As().InstancePerRequest()
или это

Код: Выделить всё

builder.RegisterType().As().As().InstancePerRequest()
Я получаю следующую ошибку, хотя метод базового интерфейса доступен в дочернем интерфейсе

"'IChildReport1' не содержит определения для
'GenerateReportAsync'",

Я использую версию autofac

7.1.0

Версия .Net

4.7.2

Будем благодарны за любую помощь.
Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/793 ... -interface
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»