Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在C#中使用alumlua调用Lua函数?_C#_.net_Lua_Aluminumlua - Fatal编程技术网

如何在C#中使用alumlua调用Lua函数?

如何在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 这

我正在学习Lua,并尝试将其与C#和mono(在Linux上)集成。环顾四周后,我发现铝是一种包装材料

我已经成功地从lua呼叫到C#,但我看不到从C#呼叫到lua的方法:

lua(test.lua):

C#


那很酷,但是。。。如何调用函数“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!");
}
// ...