Я использовал Unity DI Container v5.8.4 в моем проекте .NET Core 2.1, и мне нужно было зарегистрировать Mediator
объект, и я использовал конфигурацию, предложенную здесь .
Теперь я обновился до v5.9.4 и у меня возникла ошибка, связанная с RegisterType
аргументами метода:
Невозможно преобразовать из 'Unity.Lifetime.LifetimeManager'to 'Unity.Injection.InjectionMember'
Это мой действительный код:
public static IUnityContainer RegisterMediator(this IUnityContainer container, LifetimeManager lifetimeManager)
{
return container.RegisterType<IMediator, Mediator>(lifetimeManager)
.RegisterInstance<ServiceFactory>(type =>
{
var enumerableType = type
.GetInterfaces()
.Concat(new[] { type })
.FirstOrDefault(t => t.IsGenericType && t.GetGenericTypeDefinition() == typeof(IEnumerable<>));
return enumerableType != null
? container.ResolveAll(enumerableType.GetGenericArguments()[0])
: container.IsRegistered(type)
? container.Resolve(type)
: null;
});
}
Что мне нужно сделать, чтобы обновить регистрационный код?