扩展 ExecuteInDefaultAppDomain() 之外的功能,用于从 C 调用 C# 代码
而 ICLRRuntimeHost::ExecuteInDefaultAppDomain() 提供了一种调用 C# 的简单方法来自 C 的函数,其局限性可能会阻碍与更多交互的能力复杂的功能。让我们探索替代方法:
C /CLI 作为中间 DLL:
此方法使用 C /CLI 程序集作为 C 和 C# 代码之间的中介。 C /CLI 允许托管 (C#) 和非托管 (C ) 代码之间的无缝集成,从而能够调用任意 C# 方法。
反向 P/Invoke:
此技术涉及创建一个充当 C# 函数和 C 调用者之间“桥梁”的 C 方法。通过颠倒调用者和被调用者的角色,C 代码本质上可以“欺骗”C# 程序集来执行其函数。
COM:
组件对象模型 (COM )是一种广泛使用的互操作性框架,它支持用不同语言编写的应用程序和组件之间的通信。 C 和 C# 可以通过 COM 无缝交互,从而可以调用 C# 函数。
其他方法:
方法的选择取决于需要调用的 C# 函数的具体要求和复杂性。每种方法都有自己的优点和权衡。
以上是如何从'ExecuteInDefaultAppDomain()”之外的 C 语言调用复杂的 C# 函数?的详细内容。更多信息请关注PHP中文网其他相关文章!