【发布时间】:2023-03-14 16:49:01
【问题描述】:
我正在尝试将接口的绑定提取到实现它们的类并将实例实例化到单独的项目中。
这是我目前所拥有的:
public class DependencyModule : NinjectModule
{
public override void Load()
{
Bind<IMyClass>().To<MyClass>();
}
}
这是我的模块。 在这个类中,我想创建一个静态方法,当通过任何接口时,它会尝试找到绑定到它的类并返回它的一个实例:
public static class Resolver<T, U>
{
public static T GetInstance<T>(U requestedInterfaceInstance)
{
var kernel = new StandardKernel(new DependencyModule());
return kernel.Get<requestedInterfaceInstance>();
}
}
所以,我猜我需要两个类型参数?一种用于我要返回的对象的返回类型(例如 MyClass 实例),另一种用于我的方法参数,在本例中为 (IMyClass)。
我怎样才能以更好的方式做到这一点?谢谢。
【问题讨论】:
标签: c# .net dependency-injection ninject