C# 在提供类中使用Ninject解决静态工厂

C# 在提供类中使用Ninject解决静态工厂,c#,dependency-injection,ninject,inversion-of-control,portable-class-library,C#,Dependency Injection,Ninject,Inversion Of Control,Portable Class Library,我有一个解决方案,其中包含一个核心客户端库和一个平台特定的客户端,该客户端实现UI和平台特定的操作。核心客户机库包含对静态工厂方法的引用,该方法需要针对不同目标的特定于平台的具体实现(实际上是围绕PCL的包装器,它为每个平台提供不同的组件) 我在项目的各个方面都在使用Ninject,并希望在这里应用同样的方法。唯一复杂的是使用者和提供者位于不同的名称空间和不同的.vsproj项目中 我在想,实现这一点的一种方法是提供一个实例化服务(一个静态类,在一个静态字段周围有get和set),一旦在消费客户

我有一个解决方案,其中包含一个核心客户端库和一个平台特定的客户端,该客户端实现UI和平台特定的操作。核心客户机库包含对静态工厂方法的引用,该方法需要针对不同目标的特定于平台的具体实现(实际上是围绕PCL的包装器,它为每个平台提供不同的组件)

我在项目的各个方面都在使用Ninject,并希望在这里应用同样的方法。唯一复杂的是使用者和提供者位于不同的名称空间和不同的.vsproj项目中


我在想,实现这一点的一种方法是提供一个实例化服务(一个静态类,在一个静态字段周围有get和set),一旦在消费客户机中绑定了依赖项,它就可以为核心库设置内核。但是,我不太清楚这是否是最佳实践,甚至不知道它是否能起作用。

您所说的“哪个可以为核心库设置内核”到底是什么意思。你用了多少粒?目前谁在管理内核?理想情况下,您希望谁来管理内核?使用NinjectModule可以在多个程序集中创建绑定,同时仍然只有一个内核。应用程序将管理内核,并定义从哪些程序集加载模块。可能还会为您提供一些有用的信息?@BatteryBackupUnit我基本上想赋予调用应用程序所有权和客户端核心库,以便将其作为继承。通过这种方式,我可以在客户端应用程序中绑定工厂类,然后从客户端核心库调用它。我确实简单地看了一下模块,但没有完全理解它的全部含义。考虑到这里的两条评论,我将更深入地研究。