This is the default registration that is used to register a `Type` for the interface it implements. `TInterface` is the `Type` of the interface.
In addition to the implemented properties from the `IRegistrationBase` the `IDefaultRegistration` adds the following properties and methods:
In addition to the implemented properties from the [`IRegistrationBase`](IRegistrationBase) the `IDefaultRegistration` adds the following properties and methods:
- The Type that implements the `IRegistrationBase.InterfaceType` that gets registered
@ -50,4 +50,12 @@ In addition to the implemented properties from the `IRegistrationBase` the `IDef
## `IMultitonRegistration<TInterface>`
The `IMultitonRegistration` is derived from the [`IDefaultRegistration`](IRegistrationBase#IDefaultRegistrationTInterface) and is used to register a `Type` that is of the [`Lifestyle.Multiton`](Lifestyles#lifestylemultiton).
It adds only one property to the already overridden ones, the `Type` of the multiton scope:
@ -6,7 +6,7 @@ The way classes are registered depends on their [`Lifestyle`](Lifestyles).
### Register `Transient` classes
To register `Transient` classes, an `IDefaultRegistration<TInterface>` has to be created. The preferred way to do so is to use the generic method `Register<TInterface, TImplementation>()`:
To register `Transient` classes, an [`IDefaultRegistration<TInterface>`](IRegistrationBase#IDefaultRegistrationTInterface) has to be created. The preferred way to do so is to use the generic method `Register<TInterface, TImplementation>()`:
To register `Singleton` classes, there has to be a `IDefaultRegistration<TInterface>` created as well. Similar to the registration of `Transient` classes, the preferred way to register `Singleton` classes is to use the generic method `Register<TInterface, TImplementation>()`:
To register `Singleton` classes, there has to be a [`IDefaultRegistration<TInterface>`](IRegistrationBase#IDefaultRegistrationTInterface) created as well. Similar to the registration of `Transient` classes, the preferred way to register `Singleton` classes is to use the generic method `Register<TInterface, TImplementation>()`:
To register `Multiton` classes, an `IMultitonRegistration<TInterface>` has to be created. The preferred way to do so is to use the generic method `Register<TInterface, TImplementation, TScope>()`:
To register `Multiton` classes, an [`IMultitonRegistration<TInterface>`](IRegistrationBase#IMultitonRegistrationTInterface) has to be created. The preferred way to do so is to use the generic method `Register<TInterface, TImplementation, TScope>()`:
To register [abstract factories](Abstract-factories), an `ITypedFactoryRegistration<TFactory>` has to be created. The preferred way to do so is to use the generic method `RegisterFactory<TFactory>()`:
To register [abstract factories](Abstract-factories), an [`ITypedFactoryRegistration<TFactory>`](IRegistrationBase#ITypedFactoryRegistrationTFactory) has to be created. The preferred way to do so is to use the generic method `RegisterFactory<TFactory>()`: