gpt4 book ai didi

c# - 我如何在编译期间从 C# 调用未知的 native 函数

转载 作者:行者123 更新时间:2023-11-30 16:23:10 27 4
gpt4 key购买 nike

在运行时,系统会向我提供一个 String 名称、一个排序的对象数组和一些关于 native 函数的附加信息(dllpath、calltype 等)。

假设所有信息都在 CallInformation 对象中。

如何调用这个原生函数?

注意:- 我在运行前没有提供 dll。- 我没有在运行前获得调用信息。- 我不知道运行前调用参数的数量或类型。- 我不知道运行前的返回类型。

usual information on the web关于调用 native 函数处理调用

  • 已知dll中的已知函数类型
  • 未知dll中的已知函数类型

我需要的是

  • 未知 dll 中的未知函数类型

最佳答案

解决方案将涉及 Reflection.Emit。您必须根据您的 CallInformation 动态生成一个类,其中包含用适当的 DllImport 属性修饰的 PInvoke 签名。抱歉,没有代码,但考虑到冗长的 Reflection.Emit API,它不能归结为值得发布的内容。

关于c# - 我如何在编译期间从 C# 调用未知的 native 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11850893/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com