Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 需要一种简单的方法将IronPython与C++;CLI_C#_C++_Command Line Interface_Ironpython - Fatal编程技术网

C# 需要一种简单的方法将IronPython与C++;CLI

C# 需要一种简单的方法将IronPython与C++;CLI,c#,c++,command-line-interface,ironpython,C#,C++,Command Line Interface,Ironpython,因此,我发现在C#中使用它是非常方便的,而且它工作得非常完美,非常容易设置。现在我一直在尝试在C++/CLI中做同样的事情,因为他只在C++/CLI中编写代码,结果变得复杂得多 首先,C++/CLI中没有动态关键字,因此翻译该指南中的代码示例似乎并不奏效。我专门为C++/CLI找到了它,但它实际上已经不起作用了,我猜它是为旧版本的IronPython找到的。因此,我真的需要一些帮助,用一种简单的方法从C++/CLI中运行一个IPY脚本,然后是一个如何向脚本公开对象/方法的示例 这应该是可能的(我

因此,我发现在
C#
中使用它是非常方便的,而且它工作得非常完美,非常容易设置。现在我一直在尝试在
C++/CLI
中做同样的事情,因为他只在
C++/CLI
中编写代码,结果变得复杂得多

首先,
C++/CLI
中没有动态关键字,因此翻译该指南中的代码示例似乎并不奏效。我专门为
C++/CLI
找到了它,但它实际上已经不起作用了,我猜它是为旧版本的IronPython找到的。因此,我真的需要一些帮助,用一种简单的方法从
C++/CLI
中运行一个IPY脚本,然后是一个如何向脚本公开对象/方法的示例

这应该是可能的(我从来没有用C++/CLI做过),但你只需要(用C#)来做:

在其中适当地添加“^”,以将C#转换为C++/CLI

(在本例中,fooScript将包含以下内容:

def foo(a, b):
    return str(a) + ", " + str(b)

)

是的,在C#语言的动态性下面有一大堆代码。在编译器和Microsoft.CSharp.dll中的DLR绑定器中。肉眼完全看不见的。但是,当您使用ildasm.exe查看生成的MSIL时,您可以看到发生了什么。这应该足以让您相信,在使用C++/CLI进行此操作之前,您必须先攀登珠穆朗玛峰。
def foo(a, b):
    return str(a) + ", " + str(b)