如何在C#中使用alumlua调用Lua函数?
我正在学习Lua,并尝试将其与C#和mono(在Linux上)集成。环顾四周后,我发现铝是一种包装材料 我已经成功地从lua呼叫到C#,但我看不到从C#呼叫到lua的方法: lua(test.lua): C#如何在C#中使用alumlua调用Lua函数?,c#,.net,lua,aluminumlua,C#,.net,Lua,Aluminumlua,我正在学习Lua,并尝试将其与C#和mono(在Linux上)集成。环顾四周后,我发现铝是一种包装材料 我已经成功地从lua呼叫到C#,但我看不到从C#呼叫到lua的方法: lua(test.lua): C# 那很酷,但是。。。如何调用函数“print_test”,从C#获取其输出结果?从源代码看,LuaContext有一个get方法,该方法返回一个luaoobject。在引用了该LuaObject之后,可以尝试使用AsFunction和IsFunction将其转换为luaffunction 这
那很酷,但是。。。如何调用函数“print_test”,从C#获取其输出结果?从源代码看,
LuaContext
有一个get
方法,该方法返回一个luaoobject
。在引用了该LuaObject
之后,可以尝试使用AsFunction
和IsFunction
将其转换为luaffunction
这样做应该会奏效:
// ...
var print_test = context.Get("print_test");
if (print_test.IsFunction)
{
print_test.AsFunction()(null);
}
else
{
Console.Write("print_test not a lua function!");
}
// ...
从源代码看,
LuaContext
有一个Get
方法,该方法返回一个LuaObject
。在引用了该LuaObject
之后,可以尝试使用AsFunction
和IsFunction
将其转换为luaffunction
这样做应该会奏效:
// ...
var print_test = context.Get("print_test");
if (print_test.IsFunction)
{
print_test.AsFunction()(null);
}
else
{
Console.Write("print_test not a lua function!");
}
// ...
// ...
var print_test = context.Get("print_test");
if (print_test.IsFunction)
{
print_test.AsFunction()(null);
}
else
{
Console.Write("print_test not a lua function!");
}
// ...