【Roslyn C#】Runtime环境Unity读取字符串代码

Roslyn C#

 

 

 

 

下载地址:https://files-cdn.cnblogs.com/files/sanyejun/RoslynC_RuntimeCompiler.zip

使用示例

复制代码
using System.Collections;
using System.Collections.Generic;
using RoslynCSharp;
using UnityEngine;

public class Example : MonoBehaviour
{
    private ScriptDomain domain = null;
    //创建字符串代码
    private string source =
        "using UnityEngine;" +
        "class Test : MonoBehaviour" +
        "{" +
        " void SayHello()" +
        " {" +
        " Debug.Log(\"Hello World\");" +
        " }" +
        "}";

    
    // Start is called before the first frame update
    void Start()
    {
        // Create the domain - We are using C# code so we need the compiler
        domain = ScriptDomain.CreateDomain("MyTestDomain", true);
 
        // Compile and load the source code
        ScriptType type = domain. CompileAndLoadMainSource(source);

        // We need to pass a game object because 'Test' inherits from MonoBehaviour
        ScriptProxy proxy = type.CreateInstance(gameObject);
        
        // 调用字符串的 SayHello 方法
        proxy.Call("SayHello");
    }
    
}
复制代码

 

posted @   三页菌  阅读(360)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示