C# 作为脚本语言

标签 c# c++ native unity3d

<分区>

Possible Duplicate:
Best way to call Managed .NET code from Unmanaged code

我很想知道我是否可以使用 C# 作为托管在 c++ native 应用程序中的脚本语言。我已经在自己的游戏引擎上工作了 5 年,但我从未接触过它的脚本方面。我喜欢在 Unity 中为游戏中的不同对象编写 C# 脚本的方式。

我做了一些搜索,但找不到任何实际用途。

请注意,我的问题与 .Net 无关,而是与作为通用语言的 C# 有关。

为了确定,我要声明:我不想从 C# 调用 native c++。我想要相反的方式。

如果有人能给我指出一些资源,我将不胜感激。

最佳答案

是的,您要做的是在您自己的应用程序中托管 CLR。这是一篇 MSDN 文章,其中介绍了它。

http://msdn.microsoft.com/en-us/magazine/cc301479.aspx

那篇文章的作者还有一本书涵盖了它的所有方面。在您的应用程序中启动并运行 CLR 后,如果您想要真正的脚本,您将需要动态编译代码,cirrus 提供了一些关于如何做到这一点的链接。

您不可避免地还需要将主应用程序的某些部分公开到 CLR namespace 中。否则,您将无法访问主要托管应用程序的任何特定功能。

编辑:当我说“真正的脚本”时,我的意思是您在运行时为您的脚本使用扩展名为 .cs 的文本文件。预先编译它们然后将 .DLL 包含在托管应用程序中会更有效,但是您可以两种方式都这样做。

关于C# 作为脚本语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12800996/

相关文章:

c# - 为什么 IPEndPoint 是可变的?有不变的版本吗?

c++ - FFT:如何修改此算法以返回系数表示法?

c# - 如何在 C# 中交换泛型结构?

c# - 使用 GNU Gettext 对 ASP.NET MVC 网站进行本地化?

c# - 如何在不必生成所有类的情况下使用 Linq-to-SQL?

c++ - 模板函数中的静态 std::mutex 不起作用

c++ - 如何正确删除C++中的指针?

java - 如何获取java 1.4中使用的原生C语言库的源码?

iOS 原生警报

android - 使用 mupdf 库以 pdf 格式创建所有页面的图像