我正在设计一个应用程序。核心应该用 C# 编写,但我也想使用一些已经完成的 CPython 模块(非托管)。
所以我对互操作性(从 C# 调用 CPython 方法和从 CPython 调用 C#)感兴趣。如果有问题,因为 C# 在 .NET 运行时(托管)中运行,而 CPython 直接非托管。
我已经与谷歌调查了这个问题并提出了以下解决方案:
- 通过 DLR +“CPython 扩展”+也许是“IronClad”使用 IronPython 并从 IronPython 调用 CPython 模块,反之亦然 -> 这些模块是托管还是非托管执行?如果我想使用 CPython 中的 C# 类和方法,有什么问题吗?
- 使用“Python for .NET”-> 与上述相同的问题。
你怎么看,哪种方式会更好?还是您有其他解决方案?
最后一个但也许是最重要的问题,我是否正确理解了上述几点,还是我搞砸了?
提前谢谢了 !!