1
我有以下的綁定代碼怎麼幹基於約定的Ninject這段代碼
Kernel
.Bind<IWeinCadDocument>()
.To<ADocument>().Named(ADocument._TypeId_.ToString());
Kernel
.Bind<IWeinCadDocument>()
.To<BDocument>().Named(BDocument._TypeId_.ToString());
Kernel
.Bind<IWeinCadDocument>()
.To<CDocument>().Named(CDocument._TypeId_.ToString());
的想法是,一些數據將需要容器的TYPEID進行序列化被修建安置它。每個班級都有一個靜態字段Guid _TypeId_。這意味着我可以通過Guid獲得正確類型的新文檔;
Guid id = data.TypeId;
var container = Kernel.Get<IWeinCadDocument>(id);
container.SetData(data);
我有許多IWeinCadDocument類型,我想幹掉綁定代碼,所以我不必複製粘貼它。