StartupFactory<TStartup> Class
Definition
- Namespace
- Codebelt.Bootstrapper
- Assemblies
- Codebelt.Bootstrapper.dll
The default implementation of IStartupFactory<TStartup>.
public class StartupFactory<TStartup> : IStartupFactory<TStartup> where TStartup : StartupRoot
Type Parameters
TStartup
- Inheritance
-
StartupFactory<TStartup>
- Implements
-
IStartupFactory<TStartup>
Examples
The following example shows how StartupFactory<TStartup> activates a StartupRoot partner from the host's IServiceCollection, configuration, and environment, then surfaces it through the IStartupFactory<TStartup>.Instance property. The factory is what UseBootstrapperStartup<TStartup> registers, so consumer code resolves the singleton instead of constructing the startup directly.
using Codebelt.Bootstrapper;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
namespace StartupFactoryDemo;
public class MyStartup : StartupRoot
{
public MyStartup(IConfiguration configuration, IHostEnvironment environment) : base(configuration, environment)
{
}
public override void ConfigureServices(IServiceCollection services)
{
}
}
public static class Program
{
public static void Main()
{
using var host = Host.CreateDefaultBuilder()
.UseBootstrapperStartup<MyStartup>()
.Build();
var factory = (StartupFactory<MyStartup>)host.Services.GetRequiredService<IStartupFactory<MyStartup>>();
var startup = factory.Instance;
}
}
Constructors
| Name | Description |
|---|---|
| StartupFactory(IServiceCollection, IConfiguration, IHostEnvironment) | Initializes a new instance of the StartupFactory<TStartup> class. |
Properties
| Name | Description |
|---|---|
| Instance | Provides access to an instance of the specified |
See Also
IStartupFactory<TStartup>