【问题标题】:Interop - Whether to call native from managed or vice versa互操作 - 是否从托管调用本机,反之亦然
【发布时间】:2014-07-18 22:45:38
【问题描述】:

我一直在阅读有关使用 C++ CLI 的本机托管互操作的信息,并且我了解互操作可以通过两种方式实现 - 您可以从本机代码调用托管程序集,也可以从托管代码调用本机(混合)程序集。

我的问题是 - 是否有任何指导方针/经验法则来选择互操作的方向,即决定是否从托管调用本机,反之亦然。或者我以哪种方式互操作没有区别?

就我而言,我有本地代码,可以进行大量数据处理和实时通信。这必须与外观整洁的 WPF GUI 配合使用。我可以让我的本机代码调用 WPF 功能,或者对本机后端进行简洁的 C# WPF 前端调用。我还有一个必须托管在 WPF 中的视图,但它的内容需要从本机代码定期更新。

【问题讨论】:

    标签: c# .net wpf c++-cli interop


    【解决方案1】:

    一般来说,从长远来看,让 UI 调用“逻辑”代码通常更容易,在这种情况下,这意味着托管应用程序调用本机代码。

    两个“层”最终都与您在该技术中执行整个应用程序一样,因此两者都不奇怪。一旦您开始尝试在不基于 UI 的本机代码中创建托管 UI,您最终就不得不费尽周折才能让事情按预期工作。

    因此,我建议您制作一个 WPF 应用程序,并根据需要调用您的数据处理和通信。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-10
      • 2012-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多