InjectionMap 1.5.6
InjectionMap is a very small and extremely lightweight IoC/DI container for .NET.
InjectionMap allows loose coupling betweeen a client's dependencies and its own behaviour. InjectionMap promotes reusability, testability and maintainability of any part of an application.
InjectionMap supports .Net 4.5, Silverlight 5, Windows Phone 8 or higher and Windows Store apps for Windows 8 or higher.
- InjectionMap uses type mapping to reference the key/reference and the implementation.
- Instances are resolved using reflection or can be provided through a callback whitch allows you to create the instance in your own code.
- It suports a fluent syntax to help keep the code simple, small and clean.
- The desired Constructors can be marked with attributes or will be selected according to the passed arguments.
- Parameters for constructors can be injected or passed at the time of mapping as objects or as delegate expressions.
- InjectionMap is very simple and straightforward.
Bugs, issues or feature wishes can submitted on https://github.com/InjectionMap/InjectionMap on the issues page or feel free to fork the project and send a pull request.
Install-Package InjectionMap -Version 1.5.6
dotnet add package InjectionMap --version 1.5.6
<PackageReference Include="InjectionMap" Version="1.5.6" />
paket add InjectionMap --version 1.5.6
#r "nuget: InjectionMap, 1.5.6"
Release Notes
1.5.6
- Ensured that InjectionMap is Mutithread tolerant
- Make Defaultconstrucor selectable with .WithConstructor() or .WithConstructor(typeof(void))
- Fixed: Possible Deadlock when using container in multiple threads
- Fixed: Resolving from a MappingContext with a null name creates a empty Componets map
- Fixed: Resolve unmapped types that are deeper in the Dependencytree caused ResolverException
1.5.5
- Added: PropertyInjection
- Added: Pass arguments for constructors directly in resolver method
- Added: Select constructor based on the type of the parameters needed
- Added: Pass InjectionMap.Argument as arguments instances to resolver
- Added: Set delegate providing resolved value directly in Map
- Added: Logging/Tracing
- Fixed: AsConstant didn't allways return same value
- Fixed: Resolving now gets all mapped values from the same context
- Refactored: Moved Expression Interfaces to default namespace
- Refactored: ComponentMapper - Allow access to Context from public
- Refactored: Renamed InjectionFlags.AsConstant to InjectionFlags.Singleton
- Refactored: Renamed InjectionFlags.AsSingleton to InjectionFlags.OverrideAllExisting
1.5.4
- Map to and reslove from a named context
- Add delegate or instance directly to Map<T>()
- Moved Initializer methods from InjectionMapper to MapInitializer
1.5.1
- Rename MappingContainer to MappingContext
- Added public accessor to MappingContext in InjectionMap
1.5.0
- Allow to pass a MappingContainer to InjectionMapper.Initialize(...)
- Constructors that have to be used can be defined when creating the map or when resolving.
1.4.8
- Renamed IInjectionMapper to IMapInitializer
- Moved Exceptions to base namespace
- Moved ComponentMapper to public
- InjectionMapper.Map<T>() now also maps to custom containers
- Added ExtendAll<T>() to InjectionResolver to extend all registered mappings of the type
- Changed License to Ms-PL
- Added InjectionResolver.For<T>() to resolve and extend unmapped types
- Refactored InjectionResolver.ExtendMap<T>() to simply extend existing mappings
- Added CLSComplient Attribute to assembly
- Expression Interfaces don't inherit from IComponentExpression to prevent return values showing component properties. Expression implementaitons additionaly inherit from IComponentExpression.
- Converted internal Ensure implementation to Extensionmethods
- Moved Internal implementation from Resolver, Mapping and Component to InjectionMap.Internal namespace
Dependencies
This package has no dependencies.
Used By
NuGet packages (2)
Showing the top 2 NuGet packages that depend on InjectionMap:
Package | Downloads |
---|---|
InjectionMap.Configuration
InjectionMap.Configuration is a small extension to InjectionMap for defining mappings in the application configuration file.
|
|
InjectionMap.Wpf
InjectionMap is a small extension to InjectionMap for WPF Applications.
This extension allows viewmodels to be injected into the DataContext of a View (FrameworkElement).
|
GitHub repositories
This package is not used by any popular GitHub repositories.
Version History
Version | Downloads | Last updated |
---|---|---|
1.5.6 | 944 | 10/14/2015 |
1.5.6-RC02 | 505 | 4/28/2015 |
1.5.5 | 807 | 1/22/2015 |
1.5.5-RC9 | 564 | 12/22/2014 |
1.5.5-RC8 | 575 | 12/22/2014 |
1.5.5-RC7 | 546 | 12/17/2014 |
1.5.5-RC6 | 565 | 12/16/2014 |
1.5.5-RC10 | 522 | 12/26/2014 |
1.5.4 | 1,192 | 11/4/2014 |
1.5.3 | 1,163 | 11/4/2014 |
1.5.2 | 1,154 | 11/4/2014 |
1.5.2-RC1 | 792 | 11/4/2014 |
1.5.1 | 680 | 10/13/2014 |
1.5.0 | 696 | 10/13/2014 |
1.5.0-RC1 | 556 | 10/13/2014 |
1.4.8 | 717 | 9/3/2014 |
1.4.7 | 731 | 9/2/2014 |
1.4.7-RC3 | 558 | 9/3/2014 |
1.4.7-RC2 | 567 | 9/3/2014 |
1.4.6 | 746 | 8/24/2014 |
1.4.5 | 719 | 8/18/2014 |
1.4.4 | 695 | 7/18/2014 |
1.4.3 | 747 | 5/29/2014 |
1.4.2 | 708 | 5/26/2014 |
1.4.1 | 692 | 5/20/2014 |
1.3.7 | 731 | 5/10/2014 |
1.3.5 | 708 | 5/1/2014 |
1.3.1 | 716 | 4/30/2014 |
1.2.1 | 757 | 4/29/2014 |
1.2.0 | 729 | 4/27/2014 |
1.1.0 | 699 | 4/26/2014 |
1.0.0 | 739 | 4/26/2014 |