Зарегистрируйтесь с классом Autofac, который непосредственно реализует открытый тип интерфейса [duplicate]

это работает

https://docs.angularjs.org/api/ng/service/$http

// Simple GET request example:
$http({
  method: 'GET',
  url: '/someUrl'
}).then(function successCallback(response) {
    // this callback will be called asynchronously
    // when the response is available
  }, function errorCallback(response) {
    // called asynchronously if an error occurs
    // or server returns response with an error status.
  });

12
задан Steven 26 April 2011 в 14:03
поделиться

2 ответа

В аналогичном стиле с ответом Джима, но используя AsClosedTypesOf:

Assembly[] assemblies = GetYourAssemblies();

builder.RegisterAssemblyTypes(assemblies)
    .AsClosedTypesOf(typeof(IHandler<>));
22
ответ дан Tim Cooper 21 August 2018 в 21:36
поделиться

Вероятно, вы хотите что-то подобное, хотя я не уверен, как IsAssignable () ведет себя с открытыми дженериками.

Assembly[] assemblies = GetYourAssemblies();

builder.RegisterAssemblyTypes(assemblies)
    .Where(t => t.IsAssignableFrom(typeof(IHandler<>)))
    .AsSelf()
    .AsImplementedInterfaces();
3
ответ дан Jim Bolla 21 August 2018 в 21:36
поделиться
  • 1
    Спасибо за ваш ответ. Я не уверен, что вы пытаетесь сделать здесь. Метод Type.GetCustomAttributes() возвращает object[], так как это поможет мне? – Steven 26 April 2011 в 16:42
  • 2
    Виноват. Я попытался скопировать / вставить и изменить в текстовом поле браузера. Я отредактировал эту часть. – Jim Bolla 26 April 2011 в 16:58
Другие вопросы по тегам:

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