问题标签 [ninject-conventions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
28 浏览

c# - 我应该使用什么 Ninject 约定将所有以“I”开头的接口与具有相同名称的接口绑定,而 COMObj 没有“I”前缀?

我正在集成一个对象是 COM 对象的会计系统。

当如下一对一绑定时,它工作得很好。

我遇到的情况是IAcoSDKXAcoSDKX都是接口,AcoSDKClass消费者无法访问。

所以我正在寻找一种将两个接口绑定在一起的方法,因为它们的拼写不同。Ont 以“I”开头,而其他则没有。所以我想提出一个传统的绑定,即使我一直使用未绑定的接口,Ninject 也知道在通过构造函数注入激活对象时将其绑定到什么。

这是我到目前为止没有成功的尝试。

所以我想知道,如何使用 Ninject 配置一个可以满足实际需要的约定绑定?

基本上,约定是将所有以“I”开头的接口与具有相同名称但没有“I”前缀的接口绑定。

编辑

经过进一步搜索,我发现AcoSDK.dll的类型嵌入到我自己的程序集中。只有提前加载的类型是可绑定的。

此外,虽然我可以新建一个 COM 对象接口,但Activator.CreateInstance不会以它是一个接口为借口对其进行初始化。请参阅对象声明如下:

鉴于这些新信息,是否有人对 COM 对象有类似的体验?我试图以AcoSDKClass任何方式更新或访问它,但我似乎没有得到它的钩子。

0 投票
1 回答
156 浏览

c# - Ninject 只是不会注册 MediatR.IRequestHandler<,> 使用基于约定的绑定?

按照以下示例:

MediatR.Examples.Ninject

我有一个 MediatorModule 类,如下所示:

在 Quick Watch over 上services.FromThisAssembly().SelectAllClasses().InheritedFrom(typeof(IRequestHandler<,>)),我可以看到正确找到了这些类。

快速观看

这是我的命令和处理程序的示例。

所以我想知道如何不使用该BindAllInterfaces方法注册处理程序?

即使使用普通的旧绑定语法,请求处理程序也不会被注册。

我错过了什么?