Skip to content

Dependency Chain and Generated Types

Alexander Stärk edited this page Sep 25, 2026 · 1 revision

Dependency Chain and Generated Types

Generated DependencyRegistrator

The generator creates a public partial class named DependencyRegistrator.

This class derives from BaseDependencyRegistrator and orchestrates:

  • dependency registrator discovery/initialization
  • local service registration
  • optional extension callbacks

Builder flow

The runtime entry point uses:

  • InitializeDependencies<TRootDependencyRegistrator>()
  • DependencyRegistratorBuilder<TRootDependencyRegistrator>.RegisterServices()

Typical one-line usage:

services.RegisterServices();

Referenced assemblies

During generation, Basilisque DI scans referenced assemblies and tries to resolve a generated DependencyRegistrator type in each relevant assembly namespace.

When found, generated code calls:

collection.AddDependency<OtherAssembly.DependencyRegistrator>();

This builds a transitive dependency chain.

Extensibility hooks in generated partial class

Generated partial methods are provided around initialization and registration:

  • doBeforeInitialization
  • initializeDependenciesGenerated
  • doAfterInitialization
  • doBeforeRegistration
  • registerServicesGenerated
  • doAfterRegistration

If extensions are configured, additional extension partial methods are generated.

See Manual Registrator Customization (Partial Class).

Clone this wiki locally