RegisterDecorator Autofac дублирует тип C#

Изучаю Autofac. Сделал два класса IngoingFileSettings и OutgoingFileSettings. Оба класса реализуют ISettings, имеют метод из интерфейса ISettings.Load().

Когда пытаюсь получить Resolve<IEnumerable<ISettings>> то получаю 2 элемента (как и должно быть), однако они оба имеют тип данных OutgoingFileSettings. Когда я меняю строки builder.RegisterDecorator местами, то тип становится IngoingFileSettings.

Делаю всё как в оф. документации (https://autofac.readthedocs.io/en/latest/advanced/adapters-decorators.html#simplified-syntax). Комментарии в коде дают понять, что:

decorators and they'll be applied in the order that you register them.

Однако, у меня регистрируется именно один тип. Почему так и как это исправить? В чем я оказался не прав?

using Autofac;

static void Main(string[] args)
{

    var builder = new ContainerBuilder();

    builder.RegisterType<IngoingFileSettings>().As<ISettings>();
    builder.RegisterType<OutgoingFileSettings>().As<ISettings>();   

    builder.RegisterDecorator<IngoingFileSettings, ISettings>();
    builder.RegisterDecorator<OutgoingFileSettings, ISettings>();

    //[0] - тип outgoingfilesettings, [1] - тоже.
    var settings = container.Resolve<IEnumerable<ISettings>>();
         
    foreach (var sett in settings)
    {
       sett.Load();
    }

    Console.ReadKey();
}

Ответы (0 шт):