是否有一些开箱即用的方法使用 ninject 解析 属性 内的绑定
Is some way out of box resolve bindings inside property using ninject
I am interesting about way out of box to resolve this example:
example:
class A { public B someProperty {get;set;} }
class B { public IResolve needResolve {get;set;} }
class C:IResolve {}
class D:IResolve {}
When I set binding like:
IKernel kernel = new StandardKernel();
kernel.Bind<IResolve>().To<C>();
And when I Get type 'A'
var res = kernel.Get<A>();
should be :
res.someProperty.needResolve.GetType() // typeof(C)
PS:我读到了通过 [inject] 属性解析 属性 的方法。但它仅适用于我们尝试解析的 属性 类型。
我知道如何解决它(例如:反射),但我试图找到最好的解决方案
这个适合我:
class A
{
[Inject]
public B someProperty { get; set; }
}
class B
{
[Inject]
public IResolve needResolve { get; set; }
}
res.someProperty.needResolve
是类型 C.
I am interesting about way out of box to resolve this example:
example:
class A { public B someProperty {get;set;} }
class B { public IResolve needResolve {get;set;} }
class C:IResolve {}
class D:IResolve {}
When I set binding like:
IKernel kernel = new StandardKernel();
kernel.Bind<IResolve>().To<C>();
And when I Get type 'A'
var res = kernel.Get<A>();
should be :
res.someProperty.needResolve.GetType() // typeof(C)
PS:我读到了通过 [inject] 属性解析 属性 的方法。但它仅适用于我们尝试解析的 属性 类型。 我知道如何解决它(例如:反射),但我试图找到最好的解决方案
这个适合我:
class A
{
[Inject]
public B someProperty { get; set; }
}
class B
{
[Inject]
public IResolve needResolve { get; set; }
}
res.someProperty.needResolve
是类型 C.