是否有任何 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/