A learning project to explore more about Metaprogramming and how Dependency Injection works. Aiming to make this usable in other projects.
  • C# 88.4%
  • Shell 11.6%
Find a file
2026-04-07 19:31:47 -04:00
.vscode Added vscode support 2026-02-06 15:58:05 -05:00
src/Dject Renamed project to Dject 2026-04-07 18:59:32 -04:00
test Renamed project to Dject 2026-04-07 18:59:32 -04:00
.gitattributes Add .gitattributes and .gitignore. 2025-01-17 12:41:02 -05:00
.gitignore Ignore rider IDE files 2025-03-28 09:09:50 -04:00
AGENTS.md Chore: Prepare project for Jules agent and continue Dject transition 2026-04-02 11:01:03 -04:00
Dject.sln Renamed project to Dject 2026-04-07 18:59:32 -04:00
global.json State before rewrite attempt 2026-03-23 11:35:57 -04:00
impl_list.md Minor spelling corrections on list 2025-03-28 09:09:29 -04:00
LICENSE.md Renamed readme and license to more typical repo names 2026-04-07 19:31:47 -04:00
README.md Renamed readme and license to more typical repo names 2026-04-07 19:31:47 -04:00
setup.sh Chore: Prepare project for Jules agent and continue Dject transition 2026-04-02 11:01:03 -04:00

Dject

Dject is a learning project implementing an IoC (Inversion of Control) library to understand the workings of dependency injection.

It makes heavy use of System.Reflection to analyze type metadata to automatically determine the best way to instantiate services.

Status

Dject is under active development and not production-ready.

Core service registration and constructor injection works. Service lifetimes, open generic resolution, wrapper types (Lazy, collections, etc.), property/function injection, and instancing semantics are not yet implemented.

License

This project is licensed under the OSL-3.0 terms found in the license.md file.