Регистрация замка Windsor Fluent - Что действительно Выбирает () делает?

Эта ошибка может возникать, если у вас есть каталог Linuxbrew, но в нем нет исполняемого файла brew.

То есть, /home/dileep/.linuxbrew существует, но не /home/dileep/.linuxbrew/bin/brew.

Этого не должно быть, поэтому сообщение об ошибке.

Самый простой способ исправить это - удалить каталог Linuxbrew и переустановить .

6
задан George Mauer 17 May 2009 в 22:40
поделиться

2 ответа

Pick (IEnumerable ) является синонимом ] From (IEnumerable ) , то есть он выбирает указанные типы в качестве целей регистрации.

AllTypes.Pick () совпадает с AllTypes.Of () , поэтому он эффективно выбирает все типы.

AllTypes.Pick (). FromAssembly (Assembly.GetExecutingAssembly ()) выберет ВСЕ типы в исполняющейся сборке (затем, конечно, вы можете отфильтровать)

Как обычно, посмотрите на fluent API wiki и / или тестовый пример для получения дополнительной информации.

9
ответ дан 9 December 2019 в 22:39
поделиться

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

Container.Register(
        AllTypes.Pick()
        .FromAssemblyNamed("MyAssembly")
        .If(t => t.Name.EndsWith("ABC"))
        .Configure(c => c.LifeStyle.Is(LifestyleType.Transient))
        .WithService.Select(i => typeof(I))
    );

В этом примере все типы, выбранные из MyAssembly с именем, заканчивающимся на «ABC», будут добавлены в контейнер с Transient lifestyle как услуги типа I. Пример взят из этого вопроса .

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

2
ответ дан 9 December 2019 в 22:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: