从 C++ 编写 C# 脚本?

标签 c# c++ scripting

是否有任何 C# 解释器可以在 C++ 中使用,但仍然允许 .Net 访问?
我想为游戏使用 C# 脚本,但我不确定如何进行。

最佳答案

您可以用 C# 编写一个简单的类,我们称它为 ScriptRunner,它将您的 C# 代码作为输入,在运行时编译它以在内存中生成一个新的程序集,然后它将使用反射来从此新程序集中加载特定类型,并将运行一些具有预期名称的方法。

然后,使用 COM Interop(例如)从您的 C++ native 应用程序创建一个 ScriptRunner .NET 对象,您将能够使用它来运行脚本。

开始于:

var myProvider = Microsoft.CSharp.CSharpCodeProvider.CreateProvider();
var myCompiler = myProvider.CreateCompiler();

通过使用 IntelliSense 查看 ICodeCompiler 界面上的内容,您可以很容易地自行继续。

如果您对此方法有一些具体问题,请提出。

关于从 C++ 编写 C# 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4402971/

相关文章:

C++ 函数常量

javascript - 里程表计数器值

c# - 嵌套对象初始化语法

c# - AWS 中跨 lambda 的连接池

c# - TLB 到部署时没有 Regsrv32 的托管 .NET 程序集

c++ - 我怎么能发现,浮点类型的二进制表示中的所有字节是什么意思?

c# - 从其他表单更新数据

C++函数接受函数指针和非静态成员函数作为参数

javascript - 从 javascript 数组中删除数字范围

linux - 构建将内容附加到特定文件的脚本的最简单方法,用于此类任务的 Windows 或 Linux?