0
我不太清楚如何解决这个问题,甚至是真正要搜索的内容。这是我想要做的。基于合同类型的Ninject绑定
如果有一个基类,也就是合同
public class BaseContract
{ }
具有两个sublcasses
public class Contract1 : BaseContract
{
public string Name { get; set; }
public string Surname { get; set; }
}
public class Contract2 : BaseContract
{
public int Id { get; set; }
public string Stuff { get; set; }
}
我想的接口IMyClass结合任一MyClass1的或MyClass2取决于我接收哪些合同。所以调用的方法会是这样的。
public void Test(BaseContract contract)
{
var classToGet = kernel.Get<IMyClass>(typeof(contract));
}
我已经试过如下
Bind<IMyClass>()
.To<MyClasses2>()
.WithMetadata("ContractType", typeof(Contract2));
,但似乎并没有帮助它结合。
我该如何使用Ninject实现这种绑定?
非常好,非常感谢你,这正是我所期待的。 – Dirk