资讯详情

Lua使用Luanet与C#交互,C#使用LuaInterface\Lua51与Lua交互

//https://search.bilibili.com/all?keyword=lua热更新&from_source=banner_search&spm_id_from=333.334.b_62616e6e65725f6c696e6b.2 //Siki学院视频 luanet.load_assembly(“System”) luanet.load_assembly(“testluainterface”)–加载程序集名称

Int32=luanet.import_type(“System.Int32”)–加载命名空间名称的执行类别 Program=luanet.import_type(“testluainterface.Program”) num=Int32.Parse(“2345”) –[[print(Int32) print(num) –]]

program1=Program() –[[

print(program1.name)–函数的名字是下一句TestMethod program1:TestMethod()–]] –[[void,strlength=program1:TestOut(“taiki.com”) print(void,strlength)–]]

void,count=program1:TestRef(“www.taike.com”,300) print(void,count)

using LuaInterface; namespace testluainterface { class Program { public string name = “siki”;

    public void TestMethod()     {         Console.WriteLine("This is Test Method");     }      public void TestOut(string name, out int count)     {         Console.WriteLine(name);         count = name.Length;//Count是类型,不需要返回值,会在里 面自动返回int类型     }      public void TestRef(string name,ref int count)     {         Console.WriteLine(name);         Console.WriteLine(count);         count = name.Length;     }      static void Main(string[] args)     {         Lua lua = new Lua();//创建Lua解释器                               //lua["num"] = 34;                             //Console.WriteLine(lua["num"]);          //lua.DoString("num=2");         //lua.DoString("str='a string'");         //object[] values = lua.DoString("return num,str");         //foreach (object obj in values)         //{         //    Console.WriteLine(obj);         //}         //lua.DoFile("Mylua.lua");           Program p=new Program();         //lua.RegisterFunction("CSharpToLuaMethod",p, p.GetType().GetMethod("CSharpMethod"));         //lua.DoString("CSharpToLuaMethod()");          //lua.RegisterFunction("LuaStaticMethod", null,typeof(Program).GetMethod("MyStaticMethod"));         //lua.DoString("LuaStaticMethod()");          lua.DoFile("script.lua");         Console.ReadKey();     }      public void CSharpMethod()     {         Console.WriteLine("Hello Word");     }      public static void MyStaticMethod()     {         Console.WriteLine("这是一种静态方法");     } } 

}

标签: taiko连接器tb2

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台