在 Ninject 中解决绑定而不初始化对象

问题描述

我有接口(例如 IMyInterface)。如果我调用 kernel.Get<IMyInterface>(),我需要知道将创建哪种类型的对象。不是 IMyInterface 的实例,而是不创建实例本身的实例类型。可能吗?

解决方法

Ninject 没有这个功能。您可以从 Ninject IKernel(如 StandardKernel)调用 GetBindings(Type),但 Ninject 使用提供者模型,因此必须调用绑定的提供者才能查看结果。

如果此功能确实需要动态,我建议创建一个自定义元服务以将服务映射到实现。