【发布时间】:2019-05-15 15:15:03
【问题描述】:
很好地阅读了 VBA 中的 DI:
https://rubberduckvba.wordpress.com/2016/07/05/oop-vba-pt-2-factories-and-cheap-hotels/
所以现在下一步是在 VBA 中使用 IoC 容器。但我想知道这是否可能!我是 VBA 新手,我不知道一些事情:
- 如果在 VBA 中完成,VBA 没有命名空间或 C# 中的等效类型。那么我的查找表如何存储一个类型的唯一键呢?
- 我想过用 C# 编写一个 com dll 并在那里实现一个 IoC,但我不知道如何将接口类型传递给 com 接口。我什至无法实例化一个接口以将其作为对象传递给 com。
我是不是只使用字符串并使用模块在 VBA 中实现命名空间?
PS:我没有找到任何用于 vba 的 IoC 容器的现有实现,所以如果有的话,我会全力以赴!
【问题讨论】:
-
第一件事。解决相当于
CreateObject("MyVBAClass")的问题,然后你就可以开始使用VBA IoC了。目前这是一个重要的问题。 -
旁注,我喜欢看到 dependency-injection 标签和 SO 上的 vba 标签在同一帖子上。
标签: vba dependency-injection inversion-of-control ioc-container rubberduck