在.NET框架中,您可以使用Ninject实现上下文绑定。
例如:
Bind<IWarrior>().To<Samurai>().WhenInjectedInto(typeof(OnLandAttack));
Bind<IWarrior>().To<SpecialNinja>().WhenInjectedInto(typeof(AmphibiousAttack));
这意味着您可以根据要注入的内容注入不同的具体实现。
我看不到在.NET Core 2.2中实现相同功能的任何方法-这是不可能的,还是仅需要大量额外的配置?
中的示例代码