8

甚至可以在 C# 中创建 GUI 层并在 C++ 中创建应用程序的其余部分吗?如果我没记错的话,其中一款杀毒软件是用 Delphi 制作的 GUI。怎么可能做到?

4

4 回答 4

6

您有多种选择,包括:

  1. 使用P/Invoke从 C# 调用 C++ DLL。
  2. 从本机代码公开一个 COM 接口,并使用COM interop从 C# 调用它。
  3. 编写本机 Windows 服务并从托管代码调用它。
  4. 使用 C++/CLI 在 C++ 中编写托管库,您可以轻松地从 C# 链接到该库。

如果您从头开始,选项 4 可能是您的最佳选择。(也就是说,除了用 C# 编写整个东西之外。)前三个选项都涉及一些额外的争论和开销,如果你没有令人信服的理由,比如需要与现有的本地库或需要面向服务的架构。

于 2012-05-25T21:58:39.400 回答
4

如果您在 C++/CLI 中编写业务逻辑,并在 C# 中编写 UI,那么这应该不是问题。如果你想用纯 ANSI C++ 编写,你可能必须围绕你想暴露给 C# 的对象编写 C++/CLI 包装器。

于 2012-05-25T21:42:42.703 回答
3

在 c++ dll 中编写应用程序逻辑,然后使用 c# 中的 pinvoke 与 dll 对话。

于 2012-05-25T21:42:21.793 回答
1

看到这个答案。它似乎回答了你的问题

于 2012-05-25T21:44:01.997 回答