【发布时间】:2012-07-10 05:28:18
【问题描述】:
我目前正在做一个 C# 项目,我对 C# 的经验为零。
我们有一组用 C++ 编写的 DLL,它们具有相同的类和相同的功能,但它们的工作方式不同。例如,假设我们的程序转换 BMP 文件。我们有用于将 BMP 转换为 JPG、BMP 转换为 PNG 等的 DLL。
我们用 C# 编写的程序应该以某种方式包装这些 DLL,但不是以静态方式。我们希望能够在运行时更改正在使用的 DLL,并在需要时(也在运行时)添加新的 DLL。喜欢插件,如果你愿意的话。
您对实施这种方法有何建议?
【问题讨论】:
-
这些 DLL 是否导出了任何 C++ 类,或者导出中只有 PInvoke 兼容的函数?
-
从目前的代码中我可以看出,它们只是 PInvoke 兼容的函数。