private static void InstanceSelfRegister(IServiceContext services, DependencyRegisterDescriptor d) { var lifetime = d.LifetimeType.ToAspectCoreLifetime(); switch (lifetime) { case Lifetime.Singleton: services.AddInstance(d.InstanceOfImplementation); break; default: throw new InvalidOperationException("Invalid operation for scoped or Transient mode."); } }
private static void TypeToInstanceRegister(IServiceCollection services, DependencyRegisterDescriptor d) { var lifetime = d.LifetimeType.ToMsLifetime(); switch (lifetime) { case ServiceLifetime.Singleton: services.AddSingleton(d.ServiceType, d.InstanceOfImplementation); break; default: throw new InvalidOperationException("Invalid operation for scoped or Transient mode."); } }
private static void TypeToInstanceRegister(ContainerBuilder services, DependencyRegisterDescriptor d) { var builder = services.RegisterInstance(d.InstanceOfImplementation).As(d.ServiceType); switch (d.LifetimeType) { case DependencyLifetimeType.Scoped: builder.InstancePerLifetimeScope(); break; case DependencyLifetimeType.Singleton: builder.SingleInstance(); break; case DependencyLifetimeType.Transient: builder.InstancePerDependency(); break; default: builder.InstancePerDependency(); break; } }
private static void TypeToTypeRegister(IServiceCollection services, DependencyRegisterDescriptor d) { var lifetime = d.LifetimeType.ToMsLifetime(); switch (lifetime) { case ServiceLifetime.Scoped: services.AddScoped(d.ServiceType, d.ImplementationType); break; case ServiceLifetime.Singleton: services.AddSingleton(d.ServiceType, d.ImplementationType); break; case ServiceLifetime.Transient: services.AddTransient(d.ServiceType, d.ImplementationType); break; default: services.AddTransient(d.ServiceType, d.ImplementationType); break; } }
private static void InstanceSelfFuncRegister(IServiceCollection services, DependencyRegisterDescriptor d) { var lifetime = d.LifetimeType.ToMsLifetime(); switch (lifetime) { case ServiceLifetime.Scoped: services.AddScoped(p => d.InstanceFuncForImplementation()); break; case ServiceLifetime.Singleton: services.AddSingleton(p => d.InstanceFuncForImplementation()); break; case ServiceLifetime.Transient: services.AddTransient(p => d.InstanceFuncForImplementation()); break; default: services.AddTransient(p => d.InstanceFuncForImplementation()); break; } }
private static void InstanceSelfFuncRegister(IServiceContext services, DependencyRegisterDescriptor d) { var lifetime = d.LifetimeType.ToAspectCoreLifetime(); switch (lifetime) { case Lifetime.Scoped: services.AddDelegate(r => d.InstanceFuncForImplementation(), Lifetime.Scoped); break; case Lifetime.Singleton: services.AddDelegate(r => d.InstanceFuncForImplementation(), Lifetime.Singleton); break; case Lifetime.Transient: services.AddDelegate(r => d.InstanceFuncForImplementation()); break; default: services.AddDelegate(r => d.InstanceFuncForImplementation()); break; } }
private static void ResolvedInstanceSelfFuncRegister(ContainerBuilder services, DependencyRegisterDescriptor d) { var builder = services.Register(context => d.ResolveFuncForImplementation(context.ToAbstract())); switch (d.LifetimeType) { case DependencyLifetimeType.Scoped: builder.InstancePerLifetimeScope(); break; case DependencyLifetimeType.Singleton: builder.SingleInstance(); break; case DependencyLifetimeType.Transient: builder.InstancePerDependency(); break; default: builder.InstancePerDependency(); break; } }
private static void TypeSelfRegister(IServiceContext services, DependencyRegisterDescriptor d) { var lifetime = d.LifetimeType.ToAspectCoreLifetime(); services.AddType(d.ImplementationTypeSelf, lifetime); }
private static void TypeToInstanceFuncRegister(IServiceContext services, DependencyRegisterDescriptor d) { var lifetime = d.LifetimeType.ToAspectCoreLifetime(); services.AddDelegate(d.ServiceType, r => d.InstanceFuncForImplementation(), lifetime); }