c# - 为非托管程序集动态创建包装器?

标签 c# c++ reflection unmanaged managed

我有一个应用程序,您可以在其中选择一个托管 dll,并列出方法和参数。我能够选择一个方法和参数,然后执行该方法。

现在,我想知道是否可以从我的 .NET 代码中使用 c/c++ dll 执行类似的操作?我认为这是可能的,因为当我在 Visual Studio 中选择对 c++ dll 的引用时,我能够访问方法等等?

如有任何意见,我们将不胜感激!

最佳答案

这里的问题是 C++ 不支持任何形式的 Reflection ,因此没有一种(标准的)方法来获取有关自动构建此包装器所需的所有方法参数和信息的信息。

然而,有一些工具可以简化包装器的生成,例如 SWIG .但是,这仍然需要用户输入,并且不是自动过程。

关于c# - 为非托管程序集动态创建包装器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9494934/

相关文章:

c++ - 如何在 XCode、C++ 中使用 ext、tr1 或 __gnu_cxx #include hash

Java 反射 : get class of field

c# - 找不到用于带有 Entity Framework 的 MVC 4 的数据库

c# - 如果在第一个 `else` 之后有一个 `return` ,这对性能有影响吗?

c# - 在 epplus 的数据透视表中隐藏小计

objective-c - 如何从objective-c类型编码中获取字节大小

.net - 使用反射获取类型的静态字段值

c# - Xamarin 表单中的 SwipeListView

c++ - 在 OpenCV 和 c++ 中使用一组有限的图像进行相机校准

c++ - 哈希字符串更改大小写